今天看啥  ›  专栏  ›  看雪学苑

基于inlinehook免重打包实现持久化NativeHook

看雪学苑  · 公众号  · 互联网安全  · 2020-09-17 17:18
本文为看雪论坛优秀文章看雪论坛作者ID:唱过阡陌两个主角函数void dlopen(const char filename, int flag)功能是以指定模式打开指定的动态链接库文件返回一个句柄给dlsym()的调用进程使用dlclose()来卸载打开的库void dlsym(void handle, const char * symbol)根据动态链接库操作句柄与符号,返回符号对应的地址获取变量地址目的通过这两个函数,以及inlinehook我们可以实现root下不修改smali,不重打包完成持久化native hook。实现原理(arm32)众所周知,System.loadLibrary()可以根据名称加载/data/app/com.xxx/lib/arm/目录下的so,而inlinehook也是通过加载so来动态修改原来的汇编代码,正常使用的话我们考虑修改smali代码加上一句System.loadLibrary()来实现自定义so的加载,但是我们不正常!所以我们想着能不能不 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照