逆向 订阅
《逆向》收录于胡夏2010年发行的第一张国语专辑《胡爱夏》,位于曲目3. 展开全文
《逆向》收录于胡夏2010年发行的第一张国语专辑《胡爱夏》,位于曲目3.
信息
中文名称
逆向
谱    曲
苏亦承
演唱者
胡夏
填    词
葛大为
逆向歌曲介绍
   逆向—男人的后悔与心碎 男版「可惜不是你」最主打「逆向」是一首狠适合的K歌,副歌狠容易朗朗上口。失恋最痛苦的莫过於「放不下」,葛大为的词先是细腻描述男人在分手后装作坚强的表面平静,这些逞强的自我安慰却只会加重失落感;到副歌塑造了一种「思念来袭」的过程,听歌的人思绪被「逆向」带回,痛苦与折磨又再次侵袭,才吐露出内心真正的疯狂后悔。胡夏在这首里充分表现出男人的压抑、爱逞强装没事的性格,以及副歌里真心诚\意的后悔与忏悔,也达到配唱制作人唱出「自我态度」的要求,让听歌的人感同身受。 [1] 
收起全文
精华内容
参与话题
问答
  • 安卓逆向简介

    千次阅读 2016-08-23 21:21:51
    安卓逆向简介常用逆向方法Apk文件格式Apk文件其实是一个zip文件,解压之后可以看到其中的目录结构AndroidManifest.xml已经过编译,包括activity、权限等配置classes.dexjava程序生成的.class文件经过打包生成...

    安卓逆向简介

    常用逆向方法

    Apk文件格式

    • Apk文件其实是一个zip文件,解压之后可以看到其中的目录结构
    • AndroidManifest.xml
      • 已经过编译,包括activity、权限等配置
    • classes.dex
      • java程序生成的.class文件经过打包生成
    • resources.arsc
      • 资源文件索引
    • res
      • 此文件夹包括布局文件、图片、strings等文件,可以通过R.java引用
    • lib
      • 用到的第三方库,包括.so文件。.so文件不易破解
    • assets
      • 不经编译的资源文件,可以通过AssetManager类访问
    • META-INF
      • 应用签名文件,用于验证apk中的文件没有被修改过

    使用dex2jar和jdgui查看java代码

    • 首先将apk或者apk中的dex文件拖到d2j-dex2jar.bat上,会得到一个jar文件
    • 用jdgui打开此jar文件,即可看到java源码
    • 注意,部分源码无法正确得到

    使用apktool反编译和打包

    • 反编译命令apktool d *.apk
    • 重新打包命令apktool p folder
    • 使用auto-sign重签名
      • 将apk改名为update.zip,复制到签名工具的目录下,运行Sign.bat
    • 重新打包之前可以修改smali文件夹下的源码达到破解的目的

    使用IDA Pro查看.so文件

    • 窗口左侧选中函数后,按F5可以在Pseudocode窗口查看反编译得到的C代码
    • 同样可以动态调试.so代码

    常用apk保护方法

    加固/加壳

    • 加壳指的是将dex文件加密后和加密apk写入一个新的dex文件,运行时首先通过加密apk解密得到源dex文件,再通过DexClassLoader动态加载源dex
    • 运行时必然将源dex加载到内存中运行,因此在加载源dex后dump内存中对应区块即可得到源dex文件,即脱壳成功

    混淆

    • 混淆java或者C#(Unity)代码,即使反编译也无法看懂源代码,增加分析代码逻辑的难度
    • 对于java代码,可以配置proguard脚本生成apk时混淆classes.dex
    • 对于Unity项目,反编译后得到的Assembly-CSharp.dll即可使用.NET Reflector直接查看源代码,建议使用Obfuscar混淆

    运行时验证

    • 目的是防止二次打包
    • 可以对dex文件进行验证

    阻止内存修改

    • 要对抗八门神器这种内存修改器,可以将关键变量实时加密,仅在使用时解密

    作者Focustc,来自于CSDN
    展开全文
  • 1、先定位到handlemessage函数 2、找到 what 值,就是消息值 3、记下handlemessage函数所在的类,比如说包是com.protogeo.moves.collector.steps, 类是class b 4、全局搜索包名...

    作者:boxertan@精益攻城狮


    1、先定位到handlemessage函数


    2、找到要分析的 消息值,就是what 值,记下来

    3、记下handlemessage函数所在的包名和类名,比如说包是com.a.b.c, 类是class b

    4、全局搜索包名com.a.b.c, 然后逐个文件定位定位,看哪个文件会用到 b 去定义类实例,例如  b xx

    5、发现某个文件有,那么,this.xx.sendmessage(what, 消息)就是该信息了(不一定是sendmessage,还有很多sendxxxx)
    展开全文
  • 安卓逆向教程

    2018-10-12 17:57:15
    1、负责安卓程序的加解密和数据传输分析、拆解、逆向等工作; 2 、逆向APK,了解运行过程; 3 、Andorid本地提权获得root权限; 4 、熟练掌握软件逆向静态分析、动态调试、代码跟踪等; 5 、熟悉Android开发,了解打包...
  • 安卓逆向助手

    热门讨论 2016-03-04 11:58:59
    反编译apk,让你随心所欲看项目代码,Android逆向助手,亲测适用
  • 安卓逆向系列教程 4.4 逆向云播 VIP

    千次阅读 2017-04-02 16:35:30
    4.4 逆向云播 VIP 作者:飞龙 这次的软件是刀哥云播,在这里下载:http://www.xuepojie.com/thread-23860-1-1.html我们先分析一下行为:打开之后的界面是这样,并弹出一行消息:我们先点击“福利”,弹出这样一行字...

    4.4 逆向云播 VIP

    作者:飞龙

    这次的软件是刀哥云播,在这里下载:http://www.xuepojie.com/thread-23860-1-1.html

    我们先分析一下行为:

    打开之后的界面是这样,并弹出一行消息:

    我们先点击“福利”,弹出这样一行字。

    然后我们点击那个“设置”,在设置界面上,我们如果点击“加入会员”,弹出这样一行消息。

    然后我们将其拖进 Android Killer,发现它是 e4a 编写的。

    我们直接搜索“会员”,没有任何结果。可见 e4a 直接将字符串硬编码进代码里。

    我们搜索它的 Unicode 编码,\u4f1a\u5458试试看:

    一共有四个。程序窗口类中有两个,都在图片列表框1$表项被单击方法中。内容都是“您目前不是会员…”。设置窗口里的都是“加入会员”,是按钮的标题,和破解没太大关系。

    我们点击第一个,文本附近的代码是这样:

    .line 27
    :cond_4
    if-nez v0, :cond_1 # return-void
    
    .line 28
    const-string v0, "\u60a8\u76ee\u524d\u4e0d\u662f\u4f1a\u5458\u54e6 \n \u4e0d\u80fd\u4f7f\u7528\u4f1a\u5458\u529f\u80fd" # 您目前不是会员
    
    invoke-static {v0}, Lcom/e4a/runtime/应用操作;->弹出提示(Ljava/lang/String;)V
    
    goto :goto_0 # return-void

    经分析可得,这个是失败分支的代码。然而:cond_1不是成功分支,它直接指向return-void,所以关键跳应该不在这里。由于安卓程序编译后的 Smali 是打乱的,应该在跳到:cond_4的地方。

    我们在相同方法中寻找,只找到一处满足要求的地方:

    # 项目索引
    .param p1, "\u9879\u76ee\u7d22\u5f15"    # I
    
    .prologue
    const/4 v3, 0x1
    
    .line 11
    .line 12
    if-nez p1, :cond_2
    # p1 为 0 时的操作(随播)
    # ...
    
    .line 19
    :cond_2
    if-ne p1, v3, :cond_5
    # p1 为 1 时的操作(短片)
    
    .line 20
    sget-boolean v0, Lcom/dgplay/公用模块;->vip:Z
    
    .line 21
    # 关键跳
    if-ne v0, v3, :cond_4
    # 启动短片窗口的代码
    # ...

    要注意这个回调对应图片列表框,就是主界面上的六个按钮(请见图 1)。其中p1是被选中项,按照惯例是从 0 开始,从左到右从上到下。我们刚才查看的这段代码是p1为 1 情况下的,也就是你点击右上角的按钮之后会触发。

    (虽然我们实际上不推荐把六个回调都写到一个函数,因为它们是六个不同的逻辑,但是由于这是别人的代码,只能忍了。)

    我们可以看到p1为 1 时,首先获取了com/dgplay/公用模块vip静态字段,判断它是不是1v3),是的话就启动窗口,不是的话就弹出消息。

    我们还有另一个提示不是会员的位置,也就是我们之前测试过的“福利”按钮(下标为 4)。我们点过去看看:

    .line 41
    :cond_9
    const/4 v0, 0x4
    
    if-ne p1, v0, :cond_c
    # p1 为 4 时的代码
    
    .line 42
    sget-boolean v0, Lcom/dgplay/公用模块;->vip:Z
    
    .line 43
    
    # 关键判断
    if-ne v0, v3, :cond_b
    # 启动福利窗口
    # ...
    
    .line 48
    :cond_b
    if-nez v0, :cond_1 # return-void
    
    .line 49
    const-string v0, "\u60a8\u76ee\u524d\u4e0d\u662f\u4f1a\u5458\u54e6 \n \u4e0d\u80fd\u4f7f\u7528\u4f1a\u5458\u529f\u80fd"
    
    invoke-static {v0}, Lcom/e4a/runtime/应用操作;->弹出提示(Ljava/lang/String;)V
    
    goto/16 :goto_0 # return-void

    果然还是根据这个字段。我们猜想这个静态字段是控制当前用户是否是 VIP 的字段。为了减少工作量,以及避免可能的暗桩,我们不要直接改动判断,而是将这个字段赋成 1。

    但是,在静态构造器中将这个字段赋成 1 是不行的,因为主界面中可能有将它重新赋成 0 的代码。我们搜索Lcom/dgplay/公用模块;->vip,结果如下:

    其中只有主窗口和设置窗口有赋值。设置窗口那个不用看了,因为是购买 VIP 的地方,它肯定是将其赋值为 1,那么主窗口中:

    # 第一处
    .line 16
    const/4 v0, 0x1
    sput-boolean v0, Lcom/dgplay/公用模块;->vip:Z
    
    # 第二处
    .line 18
    :cond_0
    const-string v0, "\u60a8\u76ee\u524d\u8fd8\u4e0d\u662fVIP,\u53ef\u8d5e\u52a9\u4f5c\u8005\u83b7\u5f97VIP"
    
    invoke-static {v0}, Lcom/e4a/runtime/应用操作;->弹出提示(Ljava/lang/String;)V
    
    .line 19
    # v1 为 0x0
    sput-boolean v1, Lcom/dgplay/公用模块;->vip:Z
    
    goto :goto_0

    这两处都在多线程1$取网页源码2完毕函数中。当然第二处是将其赋为 0 的地方,通过分析逻辑得知,这个是失败分支,而另一个是成功分支。我们向上找到关键跳转:

    # 关键跳转
    if-eqz v0, :cond_0
    
    # ...
    # 第一处
    # ...

    把这句去掉,就可以了。重新编译、打包,大功告成。

    展开全文
  • 逆向破解安卓app

    2020-09-09 11:55:12
    安卓app逆向破解获取信息 准备环境 在开始之前首先需要下载相应的环境,以及学习一些必要的知识。 在环境下载中主要需要以下软件: Fiddler(用来抓包) 手机模拟器(用来模拟安卓软件的运行,当然可以用...

    安卓app逆向破解获取信息

    • 准备环境

    在开始之前首先需要下载相应的环境,以及学习一些必要的知识。

    在环境下载中主要需要以下软件:

    1. Fiddler(用来抓包)
    2. 手机模拟器(用来模拟安卓软件的运行,当然可以用root手机代替)
    3. dex2jar-2.0(用来反编译apk程序)
    4. jd-gui(用来打开反编译后的java程序)

    在下载这些软件后聊一下需要掌握的基础知识:

    • java(大部分安卓app是用java写的,你需要看懂java程序你才能更好的破解密码)
    • python(在得到破解的密码后需要通过爬虫获取所需要的信息。

    在这里相应的软件安装就不介绍了。

    • 进行抓包尝试

    首先打开Fiddler软件(首次打开需要设置)

    设置Fiddler,打开allow remote computers to connect

    手机模拟器也需要将wifi调成电脑ip地址以及相应8888端口(具体怎么调可百度,这里不做介绍)

    这里以一个安卓app微漫画为例进行测试(在手机模拟器上打开微漫画,同时电脑上也留一个微漫画apk进行反编译)

    进入搜索功能,进行搜索:

    在Fiddle上可获取搜索到的信息:

    从中可以得到一些关键信息:

    
    api = 'http://api.manhua.weibo.com/client/home/search?word=全职&page_num=1&row_num=10'
    
    
    headers = {'client-ver':'3.0.1',
    'client-type':'android',
    'client-time':'1599615706987',
    'phone-mark':'ED6D7B8020FFE4E5A6F2D7BD38087507',
    'app-devicetoken':'e571dd8bd67803995b9bdcfefb58662b',
    'sina-uid':'0',
    'sina-token':'',
    'VREADREFER':'vmh_client',
    'client-sign':'92d32ccedb7a692a17ceb7e64121d088',
    'Cache-Control':'no-cache',
    'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8',
    'Content-Length':'223',
    'Host':'api.manhua.weibo.com',
    'Connection':'Keep-Alive',
    'Accept-Encoding':'gzip',
    'User-Agent':'okhttp/3.8.0'}
    
    data = {
    client_ver
    client_type
    client_time
    phone_mark
    app_devicetoken
    sina_uid
    sina_toke
    client_sign
    }
    

    通过搜索其他内容不难发现data中只有client_time和client_sign是变化的,则可以推测这2个变量可能就是需要反编译进行破解的密码(其实通过猜测可以发现client_time很大可能是时间戳) 

     

    • 进行软件破解分析密码

    首先将微漫画apk进行解压:

    将classes.dex文件复制到dex2jar-2.0文件的主目录中,通过终端打开

    输入下图命令可以得到一个.jar的java包。

    通过jd-gui打开jar包,然后搜索我们需要破解的参数:

    可以发现大量需要数据集中于此

    然后一些变量以及常数可以分析出来其含义(需要耐心去观察)

    图中便可以判断client-time = str5(果然是时间戳)

    可以分析 client_sign为下图所示结果,耐心分析str4.str5,str6,str7,str1分别代表什么含义,以及at()函数的意义

    可以发现at()函数是一个md5加密函数。

    • 进行爬虫获取数据

    下面为爬虫的数据,hashlib模块是python用来md5加密 

    '''
    通过反编译抓包获取微漫画信息
    '''
    
    import requests
    import time,random,hashlib
    
    api = 'http://api.manhua.weibo.com/client/home/search?word=全职&page_num=1&row_num=10'
    
    
    client_time = int(time.time()*1000)#时间戳
    
    sign = "3.0.1" + "android" + str(client_time) + "e571dd8bd67803995b9bdcfefb58662b" + "ED6D7B8020FFE4E5A6F2D7BD38087507" + "0" + "" + "{54563A97-2BBA-7F31-D4C1-8EF72F4A98E6}"
    #client-sign表达式
    
    client_sign = hashlib.md5(sign.encode('utf-8')).hexdigest()#md5加密
    
    
    
    data = f'client_ver=3.0.1&client_type=android&client_time={client_time}&phone_mark=ED6D7B8020FFE4E5A6F2D7BD38087507&app_devicetoken=e571dd8bd67803995b9bdcfefb58662b&sina_uid=0&sina_token=&client_sign={client_sign}'
    
    headers = {'client-ver':'3.0.1',
    'client-type':'android',
    'client-time':'1599615706987',
    'phone-mark':'ED6D7B8020FFE4E5A6F2D7BD38087507',
    'app-devicetoken':'e571dd8bd67803995b9bdcfefb58662b',
    'sina-uid':'0',
    'sina-token':'',
    'VREADREFER':'vmh_client',
    'client-sign':'92d32ccedb7a692a17ceb7e64121d088',
    'Cache-Control':'no-cache',
    'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8',
    'Content-Length':'223',
    'Host':'api.manhua.weibo.com',
    'Connection':'Keep-Alive',
    'Accept-Encoding':'gzip',
    'User-Agent':'okhttp/3.8.0'}
    
    
    result = requests.post(api,data = data,headers = headers)
    result.encoding = 'utf-8'
    
    print(result.json())

    结果如下: 

    展开全文
  • 1625-5 王子昂 总结《2017年6月28日》 【连续第269天总结】 A. 今天折腾了一天查壳和脱壳软件 脱壳在论坛上发现了使用IDA动态调试的教程,准备用adb跟着的时候发现模拟器是x86架构的,而IDA提供的android_server...
  • 吾爱破解安卓逆向入门教程

    万次阅读 多人点赞 2016-02-19 09:50:13
    一、环境配置安装 java jdk,并设置好环境变量。测试: java -version二、初识 APK、Dalvik字节码以及Smali1. apk是什么?apk实质上是一个zip压缩包,将apk后缀修改为zip,解压之后可以看到其内部结构:2....
  • Android安卓逆向教程

    2019-05-08 10:28:04
    Android安卓逆向教程 1.java逆向基础 2.arm native逆向 3.系统编译 4.应用脱壳 5.初步编程保护 6.HOOK插件开发
  • 01.编译要求与分支代号.avi 02.编译细节与刷机包.avi 03.Ubuntu系统.avi ...04.安卓源码下载.avi 05.获取设备驱动.avi 06.编译源码.avi 07.刷机详解.avi 08.编译内核.avi 09.打包内核与刷内核.avi
  • 飞龙的安卓逆向系列教程

    万次阅读 2017-04-04 15:55:19
    作者:飞龙在线阅读 PDF格式 EPUB格式 MOBI格式 代码仓库 更新历史 v1.0:2017.4.4 添加 Dalvik、APK、DEX 基础知识 添加静态分析、抓包工具教程 添加 12 个 APK 破解案例 赞助我协议CC BY-NC-SA 4.0
  • 安卓逆向系列教程 4.6 去广告

    万次阅读 2017-04-03 10:44:58
    4.6 去广告 作者:飞龙 软件在这里下载:http://www.yxdown.com/shouji/376800.html我们要去掉的是主界面上的广告:把它拖进 Android Killer,这...我们在这个类中搜索ad:.field private adView:Lcom/baidu/mobads/Ad
  • 安卓逆向系列教程 4.10 玄奥八字

    万次阅读 2017-04-04 11:05:08
    声明:本人极度厌恶玄学,选取此软件是为了研究逆向技术,并不代表本人赞成其内容。 这次要破解的软件是这个:http://www.xazhouyi.com/android/soft/bazi.html首先分析其行为,打开软件:按照以往的经验,程序有个...
  • 安卓逆向和手游辅助学习路线

    千次阅读 2019-12-09 15:57:40
    学习安卓逆向第一步必须先把环境搭建好,这是你学习安卓逆向的开始,环境搭建好后表示正式迈入安卓逆向。在环境安装的工程中会遇到很多细节上的问题。 第二步就是要了解我们要分析的是什么文件,很多0基础的同学都...
  • 因为喜欢Android安全,而Android逆向是Android安全的一个分支,所以小弟利用业余时间自学了一点Android逆向。 在学习过程中总结了一点学习资料,特此分享给大家。 (1)Android安全大牛的博客:  鬼哥的博客: 听...
  • 安卓逆向实践4——cm1逆向

    千次阅读 2018-07-28 17:24:24
    前面学习了安卓Java层的逆向以及Hook框架的使用。这里记录自己通过一个安卓crack me程序练手的实验过程。 首先在夜深模拟器中运行cm1, 这里需要我们获得程序中设置的flag信息。 使用jeb分析apk程序,查看...
  • 1625-5 王子昂 总结《2018年1月14日》 【连续第471天总结】 A. 某易滑块验证码绕过 B. ...如果重写识别的话,还需要再研究一下原理~最简单的方法就是直接对APK逆向,猜测流程如下Created with Ra
  • 安卓逆向系列教程 4.7 修改游戏金币

    万次阅读 2017-04-03 11:39:42
    4.7 修改游戏金币 作者:飞龙 软件下载:http://www.xuepojie.com/thread-24343-1-1.html进入游戏之后会有个“每日登录...好了,将软件拖进 Android Killer:我们搜索“您获得”,定位到了bu.smali:new-instance v0,
  • 安卓从开发到逆向(一)java转换为smali对比分析 简单的认识了java代码和smali代码之间的对应关系,本文我们结合相关知识点,进行一次实战,逆向破解简单安卓手游,让无限生命称为可能。 安卓手游apk及逆向破解工具...
  • 安卓逆向系列教程 4.8 去广告 II

    万次阅读 2017-04-03 15:08:06
    4.8 去广告 II 作者:飞龙 ...软件的主界面是这样的,可以看到最下方的“有米”:中间是一些按钮,点击每个按钮都会出现广告:拖入 AK,发现是 e4a 编写的。我们搜索“有米广告”:按照 e4a,“主窗口”应该就是主界面...
  • 安卓逆向系列教程 4.1 字符串资源

    千次阅读 2017-01-28 12:17:57
    安卓逆向系列教程 4.1 字符串资源 作者:飞龙 这篇教程是 APK 逆向实战的第一个例子,我会以一个非常简单的程序开始。主要内容就是修改字符串资源,除了破解所需之外,汉化也需要了解这个东西。我们的程序是这个...
  • 安卓逆向小例子

    2016-12-03 23:59:34
    今天要分享的是一个简单的入门例子,apk文件我会附在文章尾部(apk来源与吾爱破解吧) 工具:蓝蝶模拟器,apktoolkit 首先用蓝蝶模拟器安装下apk看看是个啥app,打开后界面如下 界面异常简陋,-_-,我们点开点我...
  • 安卓逆向工程开发环境搭建以及所需软件的下载安装
  • 安卓逆向系列教程 4.2 分析锁机软件

    万次阅读 多人点赞 2017-01-28 17:30:30
    安卓逆向系列教程 4.2 分析锁机软件 作者:飞龙 这个教程中我们要分析一个锁机软件。像这种软件都比较简单,完全可以顺着入口看下去,但我这里还是用关键点来定位。首先这个软件的截图是这样,进入这个界面之后,...
  • 安卓逆向APK逆向调试分析,实战部分还是非常值得学习的,推荐学习下。 1.APK逆向分析调试的环境搭建与工具介绍_recv.flv 2.利用AK DDMS JEB实战分析一个APP_recv.flv 3.实战分析APP-起点阅读_recv.flv 4.实战分析APP...
  • 安卓逆向视频教程

    千次阅读 2019-09-22 18:18:20
    擅长逆向分析,也是编程高手,多次参加国内安全大比武,取得骄人成绩,熟人间戏称F8LEFT为“老师”。于2015年参加阿里举办《2015移动安全挑战赛MSC第二届》获得Android精英奖+学生潜力奖并前往阿里总部领奖。 01.An....
  • 安卓逆向基础学习

    2019-05-21 00:02:02
    1.apk结构: assets 文件夹存放各种资源文件 lib 存放动态链接库 METF-INF 存放签名文件 AndroidManifest.xml 配置文件信息 dex Java代码 arsc 信息资源 比如应用名称 2.apk打包流程: ......
  • 安卓逆向之注册机

    2018-11-27 21:44:49
    去除mac注册机 1.在xml中去除代码maclock。 2.在dex文件里面找到mac类删除。  增加mac注册机 1.在提供的dex和原来的dex合并。 2.在xml中的user-sdk标签后增加联网权限代码 &lt...

空空如也

1 2 3 4 5 ... 20
收藏数 41,835
精华内容 16,734
关键字:

逆向