欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

与你红包秒抢透视下

与你红包秒抢透视下

继续上次的解说

本帖只作为技术分享,如果用于其他用途,或者触犯了什么底线。本帖不负责。审核不通过立刻删除本帖。

与你APP软件本身是360壳。有能力脱壳修复的自行脱壳修复。找我当然也可以给脱壳好的软件.

好了废话这么多,开始教程。

举起我们的Xposed开搞。


先反射他的聊天布局over(红包是通过聊天布局获取的,目前所以只能抢进入聊天布局的红包。可能用其他方式也能实现,但是我懒- -)


HOOKonSetMessage方法


得到message对象


执行getBody()获取RedPackBody对象


setMone()设置金额(固定为0)


执行getStatus(这个方法是获取红包的状态抢完了还是没抢完)


写个if判断就知道这个红包有没有抢啦


1.获取红包的管理类

2.得到用户uid

3.注册recive接受



1.调用observeOn()方法注册线程

2.代理设置成功回调

3.代理设置失败回调

4.调用subscribe()方法订阅执行

这样红包一发出来就会被抢掉

这块涉及到RXJAVA的相关知识,如果不了解的去了解下一个很不错的开源框架

                        Object threadManager = XposedHelpers.newInstance(ThreadManager, false);
                        Object mBridgeManager = XposedHelpers.newInstance(BridgeManager, threadManager);
                        XposedHelpers.callMethod(mBridgeManager,"setBridgeContextProvider",bridgeContextProvider);                         XposedHelpers.callMethod(mBridgeManager, "registerModule", ApiModule);
                        Object bridgeMessageAdapter = XposedHelpers.callStaticMethod(Codec, "decode", "{\"module\":\"API\",\"method\":\"request\",\"args\":{\"url\":\"redpacket/list/321726953973350400\",\"data\":{\"redid\":\""+redid+"\"},\"type\":\"GET\"},\"handleId\":\"BridgeHandle_4\"}", BridgeMessageAdapter);                        Object module = XposedHelpers.getObjectField(bridgeMessageAdapter, "module");                         Object mModuleMap = XposedHelpers.getObjectField(mBridgeManager, "mModuleMap");                         Object bridgeModule = XposedHelpers.callMethod(mModuleMap, "get", module);
                        Handler mHandler = (Handler) XposedHelpers.getObjectField(mBridgeManager, "mHandler");                        Object method = XposedHelpers.findMethodExactIfExists(ApiModule, "request", ApiRequestArgs);                         Object adapt = XposedHelpers.callMethod(bridgeMessageAdapter, "adapt", method);                         Object invokeModuleMethod = XposedHelpers.callMethod(mBridgeManager, "invokeModuleMethod", bridgeModule, method, adapt);
                        Object callback2 = Proxy.newProxyInstance(context.getClassLoader(), new Class[]{Consumer}, new b());                        Object mainThread = XposedHelpers.callMethod(invokeModuleMethod, "observeOn", XposedHelpers.callStaticMethod(AndroidSchedulers, "from", mHandler.getLooper()));                         Object callback1 = Proxy.newProxyInstance(context.getClassLoader(), new Class[]{Consumer}, new a());
                        XposedHelpers.callMethod(mainThread, "subscribe", callback1, callback2);

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功