美文网首页
Android逆向 各个版本linker中dlopen变化

Android逆向 各个版本linker中dlopen变化

作者: LiuJP | 来源:发表于2020-04-06 15:32 被阅读0次

void hook_dlopen() {
void *symbol = NULL;

if (find_symbol("__dl__Z9do_dlopenPKciPK17android_dlextinfoPKv", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V24, (void**)&real_dlopen_V24);
} else if (find_symbol("__dl__Z9do_dlopenPKciPK17android_dlextinfoPv", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V24, (void**)&real_dlopen_V24);
} else if (find_symbol("__dl__ZL10dlopen_extPKciPK17android_dlextinfoPv", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V24, (void**)&real_dlopen_V24);
} else if (find_symbol("__dl__Z20__android_dlopen_extPKciPK17android_dlextinfoPKv", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V24, (void**)&real_dlopen_V24);
} else if (find_symbol("__dl___loader_android_dlopen_ext", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V24, (void**)&real_dlopen_V24);
} else if (find_symbol("__dl__Z9do_dlopenPKciPK17android_dlextinfo", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V19, (void**)&real_dlopen_V19);
} else if (find_symbol("__dl__Z8__dlopenPKciPKv", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V19, (void**)&real_dlopen_V19);
} else if (find_symbol("__dl___loader_dlopen", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen_V19, (void**)&real_dlopen_V19);
} else if (find_symbol("__dl_dlopen", "linker", (unsigned long *)&symbol) == 0) {
    ZzHookReplace(symbol, (void*)&fake_dlopen, (void**)&real_dlopen);
} else {
    ZzHookReplace((void*)dlopen, (void*)&fake_dlopen, (void**)&real_dlopen);
}

}

相关文章

网友评论

      本文标题:Android逆向 各个版本linker中dlopen变化

      本文链接:https://www.haomeiwen.com/subject/gjpkfhtx.html