记录IDA动态调试进行APK脱壳流程

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++] 纯文本查看 复制代码
?
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值