-
-
[原创]SandHook with x86
-
发表于:
2021-6-3 18:43
15395
-
引言
最近论坛某些人重新定义“开源”的行为实属把我逗乐了,甚至还提前几天在论坛里发预告,结果你给我整个内部群里发布了,这不搞笑的么,对此我觉得有必要用行动告诉一下他到底什么才叫开源。
这里我打算开源兼容了x86架构的SandHook框架,SandHook大家肯定不陌生了,大名鼎鼎的EdXposed的两个实现方案之一就是基于SandHook完成的。可惜大佬ganyao114视乎对x86不太感冒,n个commit前就表示x86小问题有空就更新,然鹅时间已经过去很久了,本菜鸟还是没能等到期望的commit。考虑到自己的一些项目需要在模拟器上跑,所以就自己开干咯。
这里先放github地址:https://github.com/necuil/SandHook_with_x86
找了半天没看到哪里加大字号,难受...
看一下效果图,在雷电4模拟器测试无异常。这里只是为了演示,没用xposed的接口,有需要的话直接使用SandHook自带的xposedCompat即可。
开干
本来想详细介绍介绍怎么实现的,想想还是算了,要打很多字的样子,因为本人很懒,所以还是放几张截图算了(笑
repo里涉及汇编的地方,我都尽量考虑了字节对齐
这里是为了手动解析tls,相关代码可以在aosp里找到(https://cs.android.com/android/platform/superproject/+/master:bionic/libc/platform/bionic/tls.h),x86_64的我也一并补上了,虽然并没有适配就是了(逃
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2021-11-1 17:22
被不吃早饭编辑
,原因: