IDA pro动态调试笔记
一、 IDA pro动态调试
1.将android_server安装到手机上/data/local/tmp文件下
adb push D:\xx \IDA_Pro_v7.0_Portable\dbgsrv\android_server /data/local/tmp
给文件赋予权限
adb shell
su
cd /data/local/tmp
chmod 777 android_server
启动脚本
./android_server
2.端口转发
adb forward tcp:23946 tcp:23946
3.启动需要调试的activity
adb shell am start -D -n com.github.gavin.smid/com.github.gavinme.smid.MainActivity
4.启动ida客户端
Ctrl+s搜索进程
5.启动ddms查看调试的端口
6.启动jdb调试器
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700
二、遇到的问题
dms无法查看进程列表
1.查看手机是否有调试权限
getprop ro.debuggable
将该值设置为1将开启android全局可调式
2.手机cpu型号
adb shell getprop ro.product.cpu.abi
armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它. arm64-v8a: 第8代、64位ARM处理器,很少设备,三星 Galaxy S6是其中之一。 armeabi: 第5代、第6代的ARM处理器,早期的手机用的比较多。 x86: 平板、模拟器用得比较多。 x86_64: 64位的平板。
3.mprop修改调试
https://github.com/wpvsyou/mprop 下载手机cpu类型对应的文件 将文件push到/data/local/tmp 赋值权限
chmod 777 mprop
修改ro.debuggable的值为1
./mprop ro.debuggable 1
查看ro.debuggable的值
getprop ro.debuggable
如果是android 8,就需要使用MagiskHide Props Config 模块开修改 Android修改ro.debuggable 的四种方法
4.重启adb的守护进程adbd
stop;start
5.打开ddms查看进程
无法显示进程列表 可以尝试Actions->Reset adb
|