qtfreet00 发表于 2015-11-19 13:37

xxx加固 之 动态脱壳

本帖最后由 世事繁华皆成空 于 2015-12-1 17:27 编辑

0x1 对比
上传demo进行加固,解包后对比下原包和加固包,发现加固包在assets文件夹下多了libjiagu.so,libjiagu_x86,lib文件夹下多了libjiagu_art.so,同时修改了dex文件和AndroidManifest文件

打开manifest文件,看到xxx加固对Application标签做了修改,添加了壳入口,也就是我们反编译后看到的StubApplication.smali这个文件。 相比于之前版本的加固,自从1.x.x.x加固版本之后,多了几次反调试,使得动态难度稍微增大了一些,不过针对脱壳机脱壳,再多了反调试也是无用。或者通过修改系统源码,也能达到消除反调试的作用。

0x2 动态调试(1)把app安装到手机,以调试模式打开app(2)以shell模式root权限打开ida的android_server监听(3)tcp转发(4)打开IDA,修改配置为在进程开始时下断


(5)搜索到进程后jdwp转发,pid值即为我们进程号,并在命令行下附加。

成功附加后,可以下段了,打开Debugger Option

我们选择在线程开始和库加载时下断,修改成功后,jdb附加,点击运行

程序会断在elf头处,按下G键,搜索mmap,在mmap函数的段首和断尾下段

F9运行,来到断尾时F8单步,

来到此处时,在 BLunk_5C999C2C下断,F9一下,F7跟进去

跟进去今后在BLX LR处进行下断,此处就是进行反调试的地方,原理依然是获取TracePid的值判断当前是不是处于调试状态,建议第一次调试的人在fgets和fopen处下断,再f7跟进此调用就可以看到TracePid的值了。

跟进去之后,我们直接把方法移到最下方,就可以看到kill符号了,这就是杀进程的地方,如果当前处于调试状态,则直接结束进程。我们在此函数的所有cmpR0,#0处下断,F9一下后即断在断点处,观察寄存器窗口的R0值,实质就是当前的TracePid的16进制的值

不确定的可以使用cat /proc/pid/status进行对比一下,我们直接把R0置0,右键选择Zero Value即可清0,继续F9

我们看到程序又来到了mmap处,继续f9

当继续断在调用反调试功能的方法时,继续F7跟进,依然在所有的cmp R0,#0处下断,断下后把R0清0后继续F9运行目前的规律是,调用BLXLR的第一次,第二次和第四次是进行反调试判断的,第三次并不影响,可以直接f9跳过去,三次反调试搞定后,就可以愉快的F9运行并观察堆栈窗口了

当看到出现如下所示时:

说明壳已经开始解密并释放dex文件了,我们直接F8单步十几步,最后F9一下就可以看到我们需要的dex头了

直接脚本dump出来即可,最后把libjiagu的所有文件删除,并修复下Application标,如果存在则修复,不存在删除即可

pdf下载:
帖子所用demo:


lengyuhoo2015 发表于 2015-12-11 13:57

感谢大神分享!

pnccm 发表于 2016-6-18 15:15

没看明白 动态调试这3步
(1)把app安装到手机,以调试模式打开app
(2)以shell模式root权限打开IDA的android_server监听
(3)tcp转发

1.把app安装到手机后 在哪里找到调试模式打开app
2.又是如何找到shell模式root权限打开ida的android_serve监听
3.tcp转发在哪里.

这三点除了第一点把app安装到手机后 接下来的操作是在手机上还是在ida上.真的不明白.希望能详细说下.

苏紫方璇 发表于 2015-11-19 13:45

前排膜拜繁华大牛,不懂安卓破解,看不懂。。。

qtfreet00 发表于 2015-11-19 13:45

苏紫方璇 发表于 2015-11-19 13:45
前排膜拜繁华大牛,不懂安卓破解,看不懂。。。

膜拜大牛{:301_973:}

myoldid 发表于 2015-11-19 13:57

反正我是看不懂的,感觉很厉害

lswm009 发表于 2015-11-19 14:32

膜拜繁华大牛,看不懂。。{:301_977:}

Sound 发表于 2015-11-19 14:34

本帖最后由 Sound 于 2015-11-19 15:33 编辑

66666666666666666666666666666666666666666666666666666666666666因为太吊了 无法用言语来表达 所以只有一组

就爱玩玩 发表于 2015-11-19 14:40

高手制作的看不懂

wgz001 发表于 2015-11-19 14:54

只能膜拜了   {:1_921:}

Jian丶ylt 发表于 2015-11-19 15:22

好东西,感谢感谢

风吹屁屁凉 发表于 2015-11-19 15:26

支持,期待大牛多分享安卓脱壳教程!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: xxx加固 之 动态脱壳