前言
此篇博文仅仅记录下本人学习 IDA pro 动态调试dex文件步骤。
工具:IDA pro 7.5
书籍:《android软件安全权威指南》
一、启动android server
-
进入 [安装路径]\dbgsrv\dbgsrv 目录,将对应android版本的 android server 和 android server64 发到手机 /data/local/tmp/ 目录,并设置可执行权限,运行。(建议android server 和 android server64 都发送,避免某些apk只有32位或64位so包。) # 同理,将android server64同样设置
adb push [安装路径]\dbgsrv\android_server /data/local/tmp/
adb shell
su
chmod 777 /data/local/tmp/android_server
./data/local/tmp/android_server # 启动
-
此处和调试so文件不同,不需要设置端口转发,调试方式启动APK ,启动DDMS 等。。。。
二、调试步骤
-
首先,IDA 加载APK 文件,选择dex (由于某些APK 由于性能原因会分成多个dex ,建议在调试时先通过反编译和回编译等方式添加 android:debuggable="true" ,重新打包APK ,新APK 仅包含一个DEX ,当然也可以直接使用工具合并) -
单击菜单项 Debugger → Debugger options , 打开调试器设置窗口(如果需要分析的程序在启动后停在入口处, 可以勾选Suspend on process entry point ”复选框),然后点击 Set specific options -
点击:Debugger=>Process options ,设置端口。 -
点击:Debugger=>Start Process (或按F9 ),启动动态调试。
三、注意事项
- 不用设置端口转发。
- 调试DEX,由于启动了
DDMS ,在第4步启动调试时出现各种异常,关闭DDMS 后就可以启动调试了。
- 8700端口被占用。修改为8701后,又出现了异常2.
The file can't be loaded by the debugger plugin. Please verify that the parameters are valid.
|