IDA pro动态调试dex文件
前言
此篇博文仅仅记录下本人学习
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.