使用IDA从内存中dump指定的dex

虽然自己编译了一套能够简单够脱壳的坏境,不过使用上总感觉比较重量级。

今天只想把APK中某个动态解密,加载的dex搞出来,用IDA轻快很多。


步骤1:

首先通过cat /proc/pid/maps查看目标dex文件所在的内存地址:



可以看到我们的起始地址是:5faa2000

                            结束地址是:5fb36000

后面的deleted表示dex文件加入内存中,就被删除了。


步骤2:

IDA调试上目标进程上,然后运行如下脚本,把这个内存区间的内容全部dump出来(没加固时,dex的内存默认是连续的):


  auto fp, begin, end, dexbyte;
  fp = fopen("D:\\dump.dex", "wb");
  begin = 0x5faa2000;
  end = 0x5fb36000;
  for ( dexbyte = begin; dexbyte < end; dexbyte ++ )
      fputc(Byte(dexbyte), fp);




dump出来得到是一个odex文件,通过下面的命令可以转成对应的smali文件:

java -jar baksmali.jar -x dump.odex -d .



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值