吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 26874|回复: 27
上一主题 下一主题
收起左侧

[Android 脱壳] 360二代加固脱壳方法总结

  [复制链接]
跳转到指定楼层
楼主
lucifer2046 发表于 2017-9-29 17:35 回帖奖励
二代加固的难度有所增加,最明显的地方就是qihoo下面增加了一个Configuration.smali文件。由以前的一个增加为两个。
脱壳时有几个关键的so:
1.libc.so(主要是提供一些系统函数,比如open、fopen、fget等等);
2.libdvm.so/libart.so(主要是Android中的系统so,也是重要的Android虚拟机中的重要的so,由于Android有java层面要跟本地层进行交互时,因此这里面的很多系统函数很重要,比如libdvm.so中的dvmdexfileopen()函数或者libart.so中的java中的javavmextloadnative()函数,都是脱壳时候的重要把握的函数);
3.libjiagu.so(我们简称为壳so,这里主要是指的是360壳的so,就是反调试什么的都在这里面,反调试函数肯定是要用到很多libc.so提供的系统函数,因此可以看到在调试反调试的时候,总是libjiagu.so跟libc.so在进行不断的交互);
4.libXX.so就是目标的so文件,也就是我们应用级别的so;
其实脱壳就是这几个so文件,从头走到尾的过程,只有走到应用级别的so,那么就很容易dump处想要的so。

因此一个过程就是:

libc.so--->libart.so/libdvm.so--->libjiagu.so--->libXX.so

对于过反调试有很多的方法:
1.我们对于cmp R0,0;运行到这个地方进行一个个的修改;
2.对于反调试的子函数我们进行NOP或者加一些mov r0,#0 ret,也就是00 00 A0 E3、 0E F0 A0 E1这样的说明;
3.或者对于某些反调试,比如不断的检测Tracepid,这时候就不能手动过掉,修改系统内核对于内核中比如检测Tracepid的地方进行修改,那么加固中的反调试是不是就起不到作用了。
参考:http://mp.weixin.qq.com/s/v_3o8XJ0u5F-euCv9lY2TQ

方法一:IDA手动脱壳:(在mmap函数处下端)
此时注意APK附加上以后,重新勾选三项,因为此处的反调试放的更早了,等你直接运行到mmap函数的时候已经迟了,所以从linker处进行下端点然后进行加载分析。


方法二:IDA手动脱壳:(Dalvik模式下在memcmp处进行下端)
手动脱壳:
静动态进行结合:
先静态观察然后结合动态去观察寻找反调试点
第一步:就是在JNI_Onload处dump处so并修复。可以看到一个调用函数关系图,特别是反调试中所用到的关键的函数的一个关系图。
第二步:就是由于反调试一般在JNI_Onload处,所以这时候,可能会调用open或者fopen进行打开,在open处进行下端点,F9执行;
第三步:(最关键的一步)ctrl+F7与F9交替进行出现在反调试最上层的调用处,然后过掉;
第四步:继续F9,ctrl+F7,F9进行交替走到反调试的函数处,这时候采用以上反调试的第二点弄点反调试函数;
第五步:在memcmp函数进行下断点,一直F9,去掉断点,然后F9;
第六步:运行到memcmp处,然后F9,观察R0 HEX窗口;
第七步:dump出来进行分析;


方法三:IDA手动脱壳:(ART模式下)
此处略过;


方法四:drizzleDump,自动脱壳机


原理:一款基于内存特征搜索的dex文件dump脱壳工具,drizzleDumper工作的原理是root环境下,通过ptrace附加需要脱壳的apk进程,然后在脱壳的apk进程的内存中进行dex文件的特征搜索,当搜索到dex文件时,进行dex文件的内存dump。

免费评分

参与人数 7吾爱币 +6 热心值 +5 收起 理由
yangld + 1 用心讨论,共获提升!
会飞的丑小鸭 + 1 用心讨论,共获提升!
d_apple + 1 + 1 谢谢@Thanks!
samtry + 1 + 1 鼓励转贴优秀软件安全工具和文档!
qas525 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hyruur + 1 学习了
丶无念 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
yzll761026 发表于 2017-9-29 20:07
感谢楼主分享,学习了~
推荐
FASThunter 发表于 2018-10-27 16:28
wen704 发表于 2017-9-29 22:54
用过drizzleDump,确实强,直接dump出dex,之前不是ida连接不上,就是开不起调试模式,各种手机换来换去, ...

dump出dex之后怎么操作啊,现在进行到这一步了。
3#
wen704 发表于 2017-9-29 22:54
用过drizzleDump,确实强,直接dump出dex,之前不是ida连接不上,就是开不起调试模式,各种手机换来换去,最后还是虚拟机好用
4#
thornfish 发表于 2017-9-30 11:20
厉害了。支持一波
5#
caddy 发表于 2017-9-30 11:50
thx for share
6#
Daxx88 发表于 2017-9-30 20:49
已阅! 谢楼主
7#
月之滴 发表于 2017-9-30 21:15

感谢楼主分享,学习了~
8#
我若成风 发表于 2017-10-1 18:12
非常感谢分享
9#
mujin88888 发表于 2017-10-1 19:45
支持支持
10#
走码观花 发表于 2017-10-16 00:09
这么叼咯。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:05

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表