WrBug / dumpDex

💯一款Android脱壳工具,需要xposed支持, 易开发已集成该项目。
https://github.com/WrBug/DeveloperHelper
MIT License
3k stars 613 forks source link

MIUI 10(Android Pie, 32bit) 由于DexFileLoader::OpenCommon参数数量不一致导致Crash #57

Closed lvqier closed 5 years ago

lvqier commented 5 years ago

案例环境:MIUI10.3.5.0 (PFHCNXM) with 32bit App

样本 libdexfile.so 的 _ZN3art13DexFileLoader10OpenCommonEPKhjS2_jRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPKNS_10OatDexFileEbbPS9_NS3_10unique_ptrINS_16DexFileContainerENS3_14default_deleteISH_EEEEPNS0_12VerifyResultE 函数有 13 个参数: image 但是 deviceutils.cpp 中的 new_nougat_open_memory/old_nougat_open_memory 函数中仅声明了8个参数: image

导致App在完成第一次hook调用后Crash

lvqier commented 5 years ago

从Android的源码看,确实应该是 13 个(1+12)参数:http://androidxref.com/9.0.0_r3/xref/art/libdexfile/dex/dex_file_loader.h#164

WrBug commented 5 years ago

https://github.com/WrBug/DeveloperHelper 参考下这个的适配

junges521 commented 1 year ago

02 pc 00003c95 /data/local/tmp/libnativeDump.so (new_nougat_open_memory(void, unsigned char, unsigned int, void

还是有这个问题