针对内存中完整的dex文件的ida调试脱壳思路

使用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 .

猜你喜欢

转载自blog.csdn.net/weixin_41508948/article/details/84546607