一篇文章搞定魔改Xposed框架

本文详细介绍了如何绕过对Xposed框架的检测,包括修改XposedBridge.jar包名、相关文件名,以及自定义installer包名。通过这些步骤,可以实现Xposed框架在Android系统的免Root集成,同时探讨了应对不同检测手段的方法。
摘要由CSDN通过智能技术生成

前言:

Xposed已经诞生很多年了,用的人多自然检测Xposed的app也多,同样的从Xposed衍生出去的一些自定义的框架也多。

Xposed检测

先对一些常见的检测手段做个概述,这方面的帖子很多,请自行查找资料。

1、遍历App安装列表检测

调用PackageManager的系统API来遍历App安装列表,辨别是否有安装Xposed Installer相关的软件包,比如de.robv.android.xposed.installer
这是最简单的检测,要过这个检测修改installer包名即可,后续内容中给出自定义方案。

2、自造异常检测堆栈信息。
  • Android系统启动过程中,init进程会去解析init.rc文件启动一系列的服务,其中就有app_process进程,在app_process执行过程中,会设置自身进程名为Zygote,启动com.android.internal.os.ZygoteInit.Main方法
  • Xposed修改了app_process,会先启动de.robv.android.xposed.XposedBridge.Main方法,再由它去启动com.android.internal.os.ZygoteInit.Main方法,因此堆栈信息中会多出一些内容。

这里分两种堆栈,第一种函数没有被Hook(进程依然是被注入的)情况下
在这里插入图片描述
可以看到多了一个de.robv.android.xposed.XposedBridge.Main,要过这个检测就像上图一样,修改XposedBridge.jar包名和类名即可,后续内容中给出自定义方案。

第二种是函数被Hook情况下
在这里插入图片描述
出现在堆栈中的handleHookMethod、afterHookedMethod、beforeHookedMethod等常用函数都可以检测,相关帖子已经很多了,这里不再展开。要过这个检测的话,修改函数名即可。其中修改handleHookMethod,需要同步修改so层JNI代码。

3、检查关键Java方法是否变为native方法
  • Xpos
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值