////IDC dump dex////
auto fp, dex_addr, end_addr;
fp = fopen("F:\\dump.dex", "wb");
end_addr = r0 + r1;
for ( dex_addr = r0; dex_addr < end_addr; dex_addr ++ )
fputc(Byte(dex_addr), fp);

  

  通常在dvmDexFileOpenPartial()这个函数下断点,R0寄存器指向的地址就是dex文件在内存中的地址,R1寄存器就是dex文件的大小。如果经过了加固,那么内存中可能没有完整的dex,或者如360加固不再走dvmDexFileOpenPartial而是自己实现此函数功能,那么在此处下断点也无法拿到完整的dex。可以考虑使用dexHunter的类抽取法,或者hook mmap等。

相关文章:

  • 2021-11-10
  • 2021-10-21
  • 2021-11-28
  • 2021-06-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2022-01-23
  • 2022-12-23
  • 2022-02-16
相关资源
相似解决方案