IDA腳本dump內存的示例


 

////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等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM