【Android逆向】脱壳项目 frida-dexdump 原理分析 1. 项目代码地址 https://github.com/hluwa/frida-dexdump 2. 核心逻辑为 defdump(self): logger.info("[+] Searching...") st = time.time() ranges = self.agent.search_dex(enable_deep_search=self.enable_deep) et = time.time() logger.info("...
1、打开雷神模拟器,并打开要脱壳的app,我这里是打开保利票务app 2、打开命令行 cmd,输入 adb shell,进入模拟器,启动 frida-server,如下图 3、再打开一个命令行cmd,定位到 frida-dexdump 命令的目录,cd /d D:\python38\Scripts 4、输入命令 frida-dexdump -FU,如下图(参数说明,参数 U 是usb,参数 F是前...
对于完整的dex,采用暴力搜索dex035即可找到。 而对于抹头的dex,通过匹配一些特征来找到,然后自动修复文件头。 效果非常好: root@roysuekali:~/Desktop/FRIDA-DEXDump# python main.py [DEXDump]: found target [7628] com.xxxxx.xxxxx [DEXDump]: DexSize=0x8341c4, SavePath=./com.xxxxx.xxxxx/0x7abfc0000...
1.git项目地址 https://github.com/hluwa/FRIDA-DEXDump 2.安卓启动frida-server 3.启动APP 4.运行frida_dexdump文件下main文件 第二种方式 1.安装frida-dexdump模块 pip3 install frida-dexdump 2.安卓启动frida-server 3.启动APP 4.cmd命令窗口运行frida-dexdump...
三代VMP、Dex2C壳:独立虚拟机解释执行、语义等价语法迁移,强度最高。 先说最难的Dex2C目前是没有办法还原的,只能跟踪进行分析;VMP虚拟机解释执行保护的是映射表,只要心思细、功夫深,是可以将映射表还原的;二代壳函数抽取目前是可以从根本上进行还原的,dump出所有的运行时的方法体,填充到dump下来的dex中去的,这...
三代VMP、Dex2C壳:独立虚拟机解释执行、语义等价语法迁移,强度最高。 先说最难的Dex2C目前是没有办法还原的,只能跟踪进行分析;VMP虚拟机解释执行保护的是映射表,只要心思细、功夫深,是可以将映射表还原的;二代壳函数抽取目前是可以从根本上进行还原的,dump出所有的运行时的方法体,填充到dump下来的dex中去的,这...
0x02 Frida+FRIDA-DEXDump 脱壳 FRIDA-DEXDump 项目地址 [https://github.com/hluwa/FRIDA-DEXDump][0] 模拟器或ROOT过的测试机运行需要脱壳的APP,然后运行main.py即可脱壳,后续就可以使用 d2j-dex2jar 进行反编译了。
直接运行frida-dexdump或者python main.py的话,会附加当前的前台 app 来进行搜索和 dump dex. 或者,可以加上命令行参数: -n:[可选] 指定目标进程的名字,如果使用 spawn 模式,它必须是一个应用的包名。如果不指定的话,就会自动选择当前的前台应用。
shell./frida使用 frida-ps -U 查看手机进程,如果有,则代表Frida已经连接成功,后续我们也可以使用Frida进行hook了0x02Frida+FRIDA-DEXDump 脱壳FRIDA-DEXDump 项目地址[https://github.com/hluwa/FRIDA-DEXDump][0]模拟器或ROOT过的测试机运行需要脱壳的APP,然后运行main.py即可脱壳,后续就可以使用 d2j-dex2...
用的yang大佬的dump脚本,Dump下Dex后,发现是自定义ClassLoader导致Fart无法正常运行。 三、编写Frida脱壳脚本 需要解决的问题: Frida遍历ClassLoader, 类 ,类函数,并依次调用 Hook函数运行流程中某一处,获取当时dex中函数的代码并保存 四、遍历类并遍历函数调用 1.枚举ClassLoader类代码 根据获取ClassLoader继承链,可以...