请教下大佬们使用so动态调试连接的时候提示错误,有啥解决方法呀 ddms显示的设备列表 连接的是真机(没ROOT)里面的vmos虚拟机,Android studio未打开
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!
安卓分为两个调试器一个是JDWP调试器用来调试虚拟机(dalvik/art),另一个是原生调试器用来调试so原生代码1.如果so下断点的位置非常早a).手机端运行android_serverb).启动JDWP调试器:am start -D -n com.example.testarm/.MainActivity此时App在等待jdwp调试器连接,并且部分系统so和第三方so并未加载。c).ida原生调试器通讯端口转发: adb forward tcp:23946 tcp:23946d).ida安卓调试器附加(加上模块或线程事件):在IDA附加运行后仅仅连接了原生调试器,此时虚拟机程序依然还在等待jdwp调试器的连接并未恢复运行。
- DDSM查看和jdb附加的目的就是为了连接jdwp调试器来恢复虚拟机程序的运行- 在此可以不借用DDMS和jdb来恢复运行,借助JEB附加或android studio java或其他jdwp协议的调试器附加连接JDWP调试器来恢复虚拟机程序的运行,最后再分离java调试器同样可以达到目的。
2.如果so下断点的位置在app启动后某些条件才触发手机端运行android_server,pc端ida安卓调试器直接附加即可