360加固动态脱壳
2016-01-18 17:33
465 查看
参考文章: http://www.52pojie.cn/thread-435746-1-1.html
①. 运行IDA服务端并端口转发
②. 以调试方式启动app
adb shell am start -D -n com.CMapp/com.e4a.runtime.android.StartActivity
③. 使用IDA远程附加
④. 在libc.so中找到mmap函数设置断点,为了方便,直接设置到函数末尾了
⑤. 打开ddms或者Eclipse (必要,为了使用jdb命令),获取应用程序的端口号, F9运行程序
在命令行中执行:jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700 其中port=8700是从ddms中看到的。
此时程序会断下来
⑥. 多次F9后,会来到libjiagu.so模块中,到反调试的函数中将反调试去掉
⑦. 将以上两处反调试去掉后,就可以只保留mmap函数的断点,一直F9了,查看堆栈直到出现
⑧. 内存观看r0寄存器所指向的地址,F8单步十几步之后,就可以看到解密好的dex文件,然后使用ida脚本 dump
⑨. 使用工具查看dump.dex文件或者重打包apk文件
样本是用易安卓写的。
样本链接: http://pan.baidu.com/s/1dEpUTXn
密码: rp6u
①. 运行IDA服务端并端口转发
②. 以调试方式启动app
adb shell am start -D -n com.CMapp/com.e4a.runtime.android.StartActivity
③. 使用IDA远程附加
④. 在libc.so中找到mmap函数设置断点,为了方便,直接设置到函数末尾了
⑤. 打开ddms或者Eclipse (必要,为了使用jdb命令),获取应用程序的端口号, F9运行程序
在命令行中执行:jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700 其中port=8700是从ddms中看到的。
此时程序会断下来
⑥. 多次F9后,会来到libjiagu.so模块中,到反调试的函数中将反调试去掉
⑦. 将以上两处反调试去掉后,就可以只保留mmap函数的断点,一直F9了,查看堆栈直到出现
⑧. 内存观看r0寄存器所指向的地址,F8单步十几步之后,就可以看到解密好的dex文件,然后使用ida脚本 dump
static main(void) { auto fp, begin, end, dexbyte; fp = fopen("C:\\dump.dex", "wb"); begin = 0x5E650000; end = 0x5E650000 + 0x0004BC38; //偏移0x20处,取4字节为dex文件大小 for ( dexbyte = begin; dexbyte < end; dexbyte ++ ) fputc(Byte(dexbyte), fp); }
⑨. 使用工具查看dump.dex文件或者重打包apk文件
样本是用易安卓写的。
样本链接: http://pan.baidu.com/s/1dEpUTXn
密码: rp6u
相关文章推荐
- 输入一个无符号整数,用最少的步骤将该数变为1
- 树莓派 原理图 摄像头接口定义
- setw和setfill控制输出间隔
- 在centos 6.2,python2.7 下安装QT 4.8.3,pyqt 4.9.5 详细步骤
- MongoDB 基础(六)安全性(权限操作)
- 网站CDN监测接口
- Objective-C语法-数组NSArray和可变数组NSMutableArray
- linux下设置coredump文件的开关和路径
- 如何在Linux上创建文件系统
- Maven 学习
- 微信授权APP第三方登陆(Android)
- 几个软文
- hibernate中get()和load()方法的异同点
- Android模拟器对应的电脑快捷键说明
- HUST 1017 Exact cover(Dancing Links)(精确覆盖问题)
- 2016重走solr长征之路:replication主从同步机制
- C++学习笔记(四)--编程练习第七章
- Android ScrollView嵌套ListView嵌套GridView的上下拉以及加载更多
- RecyclerView Bug:IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter的解决方案
- Error: Could not allocate storage for the buffer. Error: Driver load failed.