Android逆向之Dump内存

Android逆向之Dump内存

  • 准备工作
    • Android机准备:
    • adb连接手机
  • IDA动态调试
    • 转发端口:
    • 打开应用的调试模式
    • IDA attach
    • 开始调试

准备工作

Android机准备:

真机,必须root,有些手机看似root,但是还会存在权限不够的问题,比如魅族4,会报出如下错误:
Unable to chmod android_server: Operation not permitted
问题详见:添加链接描述
模拟器:经本人试验,x86架构的模拟器不支持,会报出这个错误:bogus or irresponsive remote server须使用arm架构。

adb连接手机

adb连接手机等内容参见我的另一篇博客:初探Android逆向

IDA动态调试

把IDA安装目录下的android_server文件通过adb push 命令push到手机/data/local/tmp/目录下,并通过root权限身份运行./android_server
在这里插入图片描述
Android逆向之Dump内存_第1张图片

转发端口:

通过adb forward命令把端口转cp端IDA的监听应用端口号
adb forward tcp:23946 tcp:23946
在这里插入图片描述

打开应用的调试模式

adb shell am start -D -n com.sogou.map.android.sogounav/com.sogou.map.android.maps.SplashActivity
在这里插入图片描述
Android逆向之Dump内存_第2张图片

IDA attach

由前面运行Androidserver我们看出该程序是32位,打开32位的IDA。
1.Debugger->attach->android_server
Android逆向之Dump内存_第3张图片
Debug options设置,所有的博客都要求选中这三个,具体原理之后再了解:
Android逆向之Dump内存_第4张图片
hostname设置
Android逆向之Dump内存_第5张图片
然后点击ok,弹出进程列表,并搜索对应进程
Android逆向之Dump内存_第6张图片
点击OK
Android逆向之Dump内存_第7张图片
打开DDMS
Android逆向之Dump内存_第8张图片
点击IDA左上角绿色按钮,开始运行
没有图片!!!

JDB连接,进入调试模式
在这里插入图片描述

开始调试

F7进入函数,F8单步调试,F9跳到下一个断点,F2下断点,G调到函数地址
单击F8,GG,遇到了反调试
Android逆向之Dump内存_第9张图片

你可能感兴趣的:(Android)