jmpews / Dobby

a lightweight, multi-platform, multi-architecture hook framework.
Apache License 2.0
3.88k stars 794 forks source link

遍历查询符号时, 非so后缀结尾ELF文件崩溃 #226

Closed hide955 closed 1 year ago

hide955 commented 1 year ago

Android5.1.1平台上GetProcessModuleMap得到的返回值, 在遍历查找符号时 module.path等于/data/dalvik-cache/arm64/system@framework@boot.oat 会存在崩溃情况


Build fingerprint: 'OPPO/R7Plus/R7Plus:5.0/LRX21M/1431939987:user/release-keys' Revision: '0' ABI: 'arm64' pid: 13418, tid: 13418, name: m.qihoo.mydobby >>> com.qihoo.mydobby <<< signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x28008494caaf8c x0 0000007fd7c93800 x1 0000007f948e4000 x2 0000000000000008 x3 0000000000000004 x4 0000000000000000 x5 0000000000000040 x6 000000000000003f x7 0000000000000000 x8 0000007f948e4000 x9 0028008494caaf74 x10 0000000000000038 x11 0000000000000038 x12 0000000000000038 x13 0000000000000000 x14 0000000000000000 x15 0000007fae71c040 x16 0000007fad0cfcb8 x17 0000007fad0abf3c x18 0000007fae801ce0 x19 0000007fae7a2000 x20 0000007fd7c944b8 x21 0000007fae6fb000 x22 0000007fd7c94328 x23 0000007fd7c944e8 x24 0000007fad0e5d7c x25 0000007fd7c94314 x26 0000007fae75c380 x27 0000007fd7c94350 x28 0000007fd7c942f0 x29 0000007fd7c94210 x30 0000007fad0ac664 sp 0000007fd7c936c0 pc 0000007fad0ac114 pstate 0000000060000000 backtrace:

00 pc 0000000000035114 /data/app/com.qihoo.mydobby-1/lib/arm64/libdobby.so (elf_ctx_init(elf_ctx, void)+472)

#01 pc 0000000000035660  /data/app/com.qihoo.mydobby-1/lib/arm64/libdobby.so (resolve_elf_internal_symbol(char const*, char const*)+480)
#02 pc 000000000003585c  /data/app/com.qihoo.mydobby-1/lib/arm64/libdobby.so (DobbySymbolResolver+64)
#03 pc 0000000000013e4c  /data/app/com.qihoo.mydobby-1/lib/arm64/libmydobby.so (JNI_OnLoad+208)
#04 pc 00000000002776f4  /system/lib64/libart.so (art::JavaVMExt::LoadNativeLibrary(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, art::Handle<art::mirror::ClassLoader>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)+3716)
#05 pc 00000000002b6480  /system/lib64/libart.so (art::Runtime_nativeLoad(_JNIEnv*, _jclass*, _jstring*, _jobject*, _jstring*)+692)
#06 pc 00000000000b2134  /data/dalvik-cache/arm64/system@framework@boot.oat