IDA动态调试,最详细图文操作
1.基本配置
上传IDA调试服务器地址:IDAPro70\dbgsrv\android_server
cmd进入到该目录下: IDAPro70\dbgsrv
导入IDA调试服务器:adb push android_server /data/local/tmp ( 存放位置随意 )
2.开启IDA服务
adb shell
su
cd data/local/tmp
./android_service // 根据架构选择64或者32 -- service跟ida必须成对
// 反调试
./as32 -p31928
3.端口转发
adb forward tcp:23946 tcp:23946
// 反调试
adb forward tcp:31928 tcp:31928
4.打开ddms 观察端口号
5.在终端命令窗口,开启调试模式
// 以实际app为准
adb shell am start -D -n com.et.capplication/.MainActivity
6.打开IDA
菜单 Debugger -> Remote ARMLinux/Android debugger
7.输入127.0.0.1确认
8.选中要调试的进程
9.进入调试界面
9.Debugger -> Debugger options... 三项选中
10. F9 进入runing状态
11.这时候查看ddms的端口号,开启调试
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8600 根据实际情况
这样为成功
12.查看是否加载so,如果没有继续F9直到加载so
13.没有找到so,继续F9直到找到我们的libet_native_lib
14.双击目标so 找到jniload函数
15.双击,进入目标函数,切换视图,开始断点
16.Debugger -> Debugger options... 三项取消
17.F9进入到断点
18.F8下一步开始调试
TS:F9进入当前断点后,如果想进入下一个断点,必须把上个断点取消掉,然后在F9,否则报错。
木得感情的老迪拜: 我遇到了这个问题,请问有解决方法吗?
CSDN-Ada助手: 恭喜作者第15篇博客的问世!对于Flutter WebView加载url空白的问题,我建议作者可以尝试深入分析可能的原因,并尝试不同的解决方案。或许可以尝试查阅更多相关文献,或者向社区中的其他开发者请教。希望作者能够在解决问题的过程中不断积累经验,继续分享更多有价值的内容。加油!
CSDN-Ada助手: 恭喜您写了第13篇博客!标题中提到的Flutter bugly在上传崩溃日志与符号表解析方面的傻瓜式操作非常吸引人。不仅能够帮助开发者更轻松地处理崩溃问题,还能提供更准确的符号表解析。您的博客内容相信会为很多Flutter开发者带来帮助。 在持续创作的道路上,建议您可以进一步探索Flutter在其他方面的应用或解决方案。例如,您可以分享一些关于Flutter在UI设计、性能优化、跨平台开发等方面的实践经验。这样的创作将进一步丰富您的博客内容,为读者提供更多有价值的知识。期待您在未来的创作中继续取得进步!
CSDN-Ada助手: 恭喜您写了第12篇博客!标题《Flutter bugly 傻瓜式操作,上传崩溃日志与符号表解析之Android》非常吸引人,内容也很实用。您对Flutter bugly的介绍和操作步骤让人感觉非常简单易懂,让我们能够轻松地上传崩溃日志和解析符号表。真是一篇很棒的文章! 我非常期待您下一步的创作。或许您可以分享一些更深入的技术细节,比如如何解决常见的崩溃问题或如何优化Flutter应用的性能。当然,这只是我个人的建议,您的创作方向完全由您自己决定。再次感谢您的分享,期待您的下一篇博客!
攻城狮xue: 哈哈,我当时找好久原因