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  
|