Android SO动态调试之IDA
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android SO动态调试之IDA相关的知识,希望对你有一定的参考价值。
粘贴一些命令,懒人复制粘贴用 ;(
1、上传并启动android_server(IDA的dbgsrv目录)
2、设置端口转发:adb forward tcp:23946 tcp:23946
3、调试模式启动应用:adb shell am start -D -n 包名/类名
类名可以在AndroidManifest.xml中查看,搜索LAUNCHER对应的android:name
4、IDA attach到目标进程,转换端口到指定调试程序:adb forward tcp:9999 jdwp:进程id(id在attach时记下或通过ps |grep查看)
5、jdb附加到调试程序:jdb -connect com.sun.jdi.SocketAttach:port=9999,hostname=localhost
6、在目标so的目标函数下断点,F9执行到断点,开始调试之
_Z21dvmDexFileOpenPartialPKviPP6DvmDex下断dump出dex文件的脚本:
auto fp, dex_addr, end_addr;
fp = fopen("e:\\dump.dex", "wb");
end_addr = r0 + r1;
for(dex_addr = r0; dex_addr < end_addr; dex_addr++)
fputc(Byte(dex_addr), fp)
以上是关于Android SO动态调试之IDA的主要内容,如果未能解决你的问题,请参考以下文章