1.启动IDA文件夹dbgsrv中的android_server 命令
2.端口转发
新开一个cmd进行端口转发:adb forward tcp:23946 tcp:23946
如果不进行端口转发,IDA将无法正常连接到端口23946
3.以调试模式启动应用
调试模式启动应用:adb shell am start -D -n 包名/MainActivity路径名
4.打开IDA附件进程
设置Debugger Option选项
根据包名找到想要调试的进程
在modules窗口中找到libdvm.so
双击打开libdvm.so,查找...dvmDexFileOpenPartial...方法,方法名很长。app加载Dex 文件的过程需要用到此方法
接下来就是运行jdb调试。假设859就是要调试的APP进程,先将进程转发到任意指定端口,然后启动jdb
接下来回到IDA界面,在...dvmDexFileOpenPartial...方法开始处下断点,然后启动程序进行调试
程序运行到断点处,通过查看寄存器的地址,最终可在内存中dump出真实的dex文件(后续补充详细内容)。
以下内容摘自CSDN:
dvmDexOpenPartial 函数的定义:
[C++]
纯文本查看 复制代码