Android中常见的HOOK框架收集

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/feibabeibei_beibei/article/details/89605877

Android中常见的各类Java HOOK框架,先收集起来,因为好多的基础原理差不多,后面有时间会归类以及对于原理进行重点分析。

1.Xposed:Java层的HOOK框架,由于要修改Zgote进程,需要Root;

2.CydiaSubstrator:本地层的HOOK框架,本质上是一个inline Hook

3.dexposed框架:随着阿里的热修复的框架:原理上跟Xposed有很多雷同,dexposed框架(缺点:仅支持Dalvik不支持ART);

4.AndFix框架:找到方法在ART中的结构,然后将结构体的内容全部替换为Hook的内容;(缺点:原方法的信息全部被替换,所以无法再执行原方法 );

5.Sophix 框架:后来阿里升级了一下,先对原来的方法作为备份,然后替换。(缺点:)

6.AndroidMethodHook框架:https://github.com/panhongwei/AndroidMethodHook

7.Legend框架:在AndFix框架的基础上,在方法进行替换前进行了方法的备份;

8.YAHFA框架:http://rk700.github.io/2017/06/30/hook-on-android-n/

9.EPIC框架:既然替换入口的方式无法达到Hook所有类型方法的目的,那么如果不替换入口,而是直接修改入口里面指向的代码呢?(这种方式有个高大上的学名:callee side dynamic rewriting)

这个框架是VirtualXposed和太极实现的一个基础。参考:http://weishu.me/2017/11/23/dexposed-on-art/

随着后来VirtrualApp多开的出现,Java层的HOOK出现了VirtualXposed和太极:

均是免Root的。

10.VirtualXposed:Virtual APP与Xposed的一个结合。

11.太极太极Xposed ☯️ 是一个无需Root、不用解锁Bootloader,也不需要刷机就能使用 Xposed 模块的一个APP。

epic:https://github.com/tiann/epic

太极阴:类似于VirtualXposed,会进行二次打包。

太极阳:跟magsik结合对系统应用进行HOOK,并且结合magsik更加的难以检测。

12.虚拟大师:一个运行在手机上的虚拟机,有点像windows下的VMware;缺点就是耗资源比较卡。

13.SandHook:坑大之作,https://bbs.pediy.com/thread-249163.htm

14.riru:https://github.com/RikkaApps/Riru替换一个会被 zygote 进程加载的共享库libmemtrack

15.EdXposed:使用的是riru+改进的yahfa

16.Magisk:另辟蹊径,通过挂载一个与系统文件相隔离的文件系统来加载自定义内容,为系统分区打开了一个通往平行世界的入口,所有改动在那个世界(Magisk 分区)里发生,在必要的时候却又可以被认为是(从系统分区的角度而言)没有发生过

隐藏Root的实现:

https://bbs.pediy.com/thread-247408.htm

猜你喜欢

转载自blog.csdn.net/feibabeibei_beibei/article/details/89605877