一个Xposed免重启的思路

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一个Xposed免重启的思路相关的知识,希望对你有一定的参考价值。

参考技术A Xposed虽然有被frida替代的趋势,但是由于他们各自实现方式的差异,Xposed在hook的成功率上还有有些优势的。不过frida相对于Xposed最明显的优势个人看来在于其免重启的灵活处理模式,可以协助检测人员快速定位问题。

结合两者的以上几个优缺点以及个人的一些研究的小想法,所以就考虑做一下Xposed的免重启Hook的方案,其实之前也有肯多大佬做过类似的功能更多更强大的项目,如免重启的Xposed框架、Xserver直接就可以枚举方法动态hook,但是这种方法一是需要换框架,我懒得换了,一个是Xserver功能太多太强了不是很好操作。再加上生命在于折腾,所以怎么着也要自己来一把试试,所以就搞了一下这个小东西。

这个思路的核心在于 getDeclaredMethods 和 XposedBridge.hookMethod() ,通过 getDeclaredMethods 遍历方法,然后用 XposedBridge.hookMethod() 进行Hook和打印参数操作。在xml文件中配置需要Hook的包名、方法名。

实现比较简陋,但是可以帮助我在面对frida无法hook的时候相对快一点的去定位问题和验证目标方法是否是我想要的方法。

不过虽然不需要重启,但是还是需要彻底杀掉目标App进程才能使修改生效的。

xml文件内容如下

目前xml方式配置有些缺陷,也没有实现hook多种方法和类的机制,后续准备看看把配置文件改成json并且把hook目标做成列表,以便实现同时Hook多个方法还有增加一下修改参数和返回值的功能。emmmm 有时间再搞吧😜

以上是关于一个Xposed免重启的思路的主要内容,如果未能解决你的问题,请参考以下文章

Xposed也要热更新

xposed也要热更新-改

xposed也要热更新-改

有一个手机框架修改软件,软件的图标是一个大大的X,这个软件叫啥名字?

.NET Framework 3.5免重启方法

xposed框架安装好怎么安装模块