1.首先一定要有一个root过的android手机,我用的是nexus4,操作系统版本android4.4,咸鱼买的。
2.打开手机中的开发者选项,勾选调试选项中的USB调试。
3.现在可以将手机与电脑用数据线连接(有的数据线不行,也会影响调试),在电脑中开启控制台窗口,输入adb devices,可以看 到已经检查到设备了。
4.这时候可以使用adb push "C:\Program Files\IDA 7.0\dbgsrv/android_server" /data/local/tmp/ands将C:\Program Files\IDA 7.0\dbgsrv/中的android_server上传到手机端的/data/local/tmp目录下,并将文件名改为ands。android_server是用来调试32位 代码的,android_server64是调试64位的,根据需求上传吧。
5.接着输入adb shell 进入手机shell。可能你看到箭头方向的符号是$符号,而不是#号,这时候需要在shell中输入su,获取root 权限。
6.这时候我们还需要在手机端输入 chmod 777 /data/local/tmp/ands更改权限,不知道上面意思的可以查下linux的chmod指令。
7.终于可以启动上传的文件了,输入cd data/local/tmp,进入tmp文件夹,执行./ands,会看到如下画面。
8.再开另开一个控制台窗口输入adb forward tcp:23946 tcp:23946
9.在手机上打开APP
10.打开IDA,选择 Debugger->Attach-> Remote ARMLinux/Android debugger
11.直接点击OK。
12.找到待调试的进程
13.启动会有点慢,会弹一些框,不要怕,无非点确定或取消,点确定崩了,下次就点取消,这时候代码暂停到这个画面,说明 成功了。直接F9运行就行了。