Android IDA 7.0 动态调试攻略

1.准备

a. 下载并安装 IDA 7.0版本

b.下载并安装JDK,因为需要使用jdb命令调试应用。

c.准备已经获得root权限的手机或者模拟器,我使用的是Android 6.0 小米的系统。

2.开始

a. 复制IDA 安装目录下dbgsrv 文件里面的相应的server文件到   手机内存储的 /data/local/tmp 目录下。对于比较新的手机,一般都是arm64的,所以我复制的是android_server64 。如果您对data目录缺少访问权限,需要使用chmod命令添加完全的访问权限。

b. 控制台输入 adb shell su 命令获取管理员权限

c. cd /data/local/tmp 进入server存放目录 ,输入chmod 777 <你拷贝的文件名> 获取执行权限

d.执行ida的server文件。执行方法是:/data/local/tmp/<你拷贝的文件名>

e. 新开一个命令窗口  ,执行 adb forward tcp:23946 tcp:23946   命令 端口转发

f.adb shell am start -D -n  包名/activity路径   启动应用

g.打开IDA64 ,菜单 debugger->attach->Remote ARM Linux/android debugger.

h.设定debug options,如下图所示。

i. 在弹出的进程选择框 选择要调试的进程.

j.手机上的App开始运行后一定要点击IDA 的开始运行按钮。如果有反调试的话,一定要先下断点,不然一运行就崩溃了,一切重新来过。

k.打开DDMS,查看你调试的应用的所用端口,然后执行:

 jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700。8700根据具体的实际情况进行修改。

好了。可以开始调试了 F7进入函数,F8单步调试,F9跳到下一个断点,F2下断点,G调到函数地址。

reder to

你可能感兴趣的:(Android IDA 7.0 动态调试攻略)