解密微信自动抢红包插件“幕后元凶”
大家经常看到,群里的红包老是被人抢了,其实不是人家手快,人家有家伙
今天给大家解密一款Android中神秘的框架 xposed
用xposed抢红包现在已经过时了,微信已经抓得很严,小心封号,微信也是通过获得手机有没有安装xposed来检测是否是机器行为,进而进行封杀,xposed可以用来修改定位,比如微信朋友圈的定位,钉钉打卡的定位,界面颜色,输入捕获等等,非常强大,有点像windows中的钩子
今天我们来讲讲原理,好让小伙伴们来学习学习
微信抢红包的基本原理:基于 Xposed 框架,给APP应用代码挂钩子,不断监听接受消息的函数,如果遇到是红包的息之后,直接调用抢红包的代码。
Xposed框架的原理是修改系统文件,有一定风险,如变砖、无限重启等。需谨慎! Xposed框架的原理是替换安卓系统/System/bin目录下的文件,从而实现对系统某些功能的接管,进而给予基于Xposed框架开发的App更多权限,安卓玩家们可以通过安装基于Xposed框架的App(Xposed模块)。
由于是通过安装基于Xposed框架的App来修改系统,所以风险会比直接修改系统文件来得少。当然一个不小心,也有可能会把系统玩坏。
首先下载xposed的安装文件
安装完成后我们看到
下面我们来用这个框架来写一个小例子,如何修改app的定位信息,非常有用
首先要引入xposed的jar包,点击下载jar包
package wiki.bfw.xposedhook; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.util.Log; import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.XC_MethodHook; import de.robv.android.xposed.XposedBridge; import de.robv.android.xposed.XposedHelpers; import de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam; public class Main implements IXposedHookLoadPackage { private void hook_method(String className, ClassLoader classLoader, String methodName, Object... parameterTypesAndCallback){ try { XposedHelpers.findAndHookMethod(className, classLoader, methodName, parameterTypesAndCallback); } catch (Exception e) { XposedBridge.log(e); } } private void hook_methods(String className, String methodName, XC_MethodHook xmh){ try { Class<?> clazz = Class.forName(className); for (Method method : clazz.getDeclaredMethods()) if (method.getName().equals(methodName) && !Modifier.isAbstract(method.getModifiers()) && Modifier.isPublic(method.getModifiers())) { XposedBridge.hookMethod(method, xmh); } } catch (Exception e) { XposedBridge.log(e); } } @Override public void handleLoadPackage(final LoadPackageParam lpp) throws Throwable{ Log.i("jw", "pkg:"+lpp.packageName); hook_method("android.telephony.TelephonyManager", lpp.classLoader, "getDeviceId", new XC_MethodHook() { @Override protected void afterHookedMethod(Meth...
点击查看剩余70%
网友评论0