【Xposed框架】QQ/微信摇骰子和猜拳作弊器插件下载v8.0免root版
一、前言
在之前的一篇文章中,我们详述介绍了Android系统中Hook工作的Xposed这款款神器:Xposed框架原理解析和使用案例分析在那一篇文章中,我们给大家介绍了如何安装Xposed框架,以及如何使用Xposed库编写第一个模块来实现修改系统方法功能的效果,同时也提到了一个要点就是:在Hook过程中,最关键的一点就是怎么找到Hook点,而对于这一点很多小伙伴儿们都会倍感困惑,因为对于修改安卓系统方法还行,因为可以简单的去查看具体的Android系统源码即就可以啦,但是假如说要去编程某些应用和游戏外挂的话,那么首先就是去破解相对应的App,找到指定Hook点,这一步是并不容易做到的。所以只能反复尝试多破解慢慢积累经验才可以。
二、猜想假设
本文就借助之前的Xposed框架来简单介绍如何编译QQ/微信摇骰子和猜拳作弊器插件的外挂功能,这个功能就是QQ/微信摇骰子和猜拳作弊器插件,我们玩过QQ和微信这个功能都明白,是一个比较常用的小游戏,因为在一个群聊当中都会很无聊就借助这款小游戏做简单的比赛,谁输了发红包、喝酒、真心话大冒险等等之类。那么,如果这个功能肯定是随机控制代码的关键节点了,那么就可以对它进行Hook,然后拦截返回最大的参数值即好啦,也就是我们想要得有效控制QQ/微信摇骰子和猜拳的作弊参数值。如下图所示:
三、准备工作
上面给大家简单介绍分析了QQ/微信摇骰子和猜拳作弊器插件原理使用,下面就不多说了,直接进行正题,本文用微信的老版本做测试的:微信6.3.31.apk(QQ/微信摇骰子和猜拳作弊器插件下载v8.0免root版);
那首先要做的就是逆向微信,需做两步:
首先,使用apktools反编译apk,这个就不赘述了,微信并未对对应用进行加固,所以反编译操作很简单。
其次,借助可视化反编译工具Jadx打开微信apk,因微信应用体积较大,所以需要稍等片刻才可以打开。
四、逆向分析
接下来要冷静分析一下该如何着手?上面反编译工作完成之后,还得寻求突破口,这个入口也好找,因为我们想得到这个随机函数,那么借助可视化反编译工具Jadx,我们能看到的效果是骰子子,我们打开一个QQ或微信聊天对话框,然后点击骰子表情:
瞧瞧,点击骰子表情,那么调用这个随机函数获取随机值就出来啦,这里就是我们的突破入口,然后找到点击事件,如果要想找到点击事件,那么就得先找到定义这个控件的参数,那么问题来了,如果能够快速的找到这个控件的定义呢?这个技术在我之前的一篇文章中已经详细讲解了,当时因为要找到那个红包的点击事件,所以就用同样的方法来得到那个红包的控件定义的地方,而这个方法就是借助AndroidSDK提供的一个工具:uiautomatorviewer.bat这个工具位于SDK目录的tools目录下,我们可以点击运行,然后就可以看到这个界面了:
到这里,就非常兴奋了,因为我们看到了成功了,这个非常明显的随机控制骰子方法终于找到了,而通过这个随机公式可以看出,这个方法的功能是返回一个0-i之间的随机参数值,而对于骰子应该是0-6之间的值,猜拳是0-3之间的值。所以这个方法百分百是用于随机功能的。
五、掌握逆向技能
谈到这里我们就已经成功的找到了我们想要Hook了,从上面的逆向过程来看,微信的反编译工程非常大,而给我们逆向工作带来非常艰巨挑战,但是幸运的是我们拥有一些强悍的反编译 工具可以快速的锁定关节节点
六、开始拦截操作
下面咋们就来进行Hook操作了,上面已经查获了随机函数的名称:
com.tencent.mm.sdk.platformtools.bb.pu(int i)
Hook工作就非常容易了,咋们拦截这个参数之后根据传入的数值做判断是猜拳还是摇骰子操作:
第一步咋们先进行一次过滤操作,就是只会Hook微信应用,然后到在拦截操作过程中,通过传递的参数中,做判断是摇骰子子还是猜拳,如果是猜拳就返回剪刀,摇骰子就返回1点。
反编译成功后,再编译成模块,然后重启设备方可生效,登录微信,随机打开一个聊天对话框,开始摇骰子:
通过打印返回值可以判定,我们的猜想是正确的,看一下实际效果:
哈哈哈,一切尽在掌控之中,到这里我们也成功的编写了一个QQ/微信摇骰子和猜拳作弊器插件外挂功能,而这个插件有的同学或许感觉用处不大,而当前主流的插件是可以防撤回功能,一键转发大视频到朋友圈,不过这些功能都会慢慢给大家剖析的,稍安勿躁。
六、总结
本文主要介绍了QQ/微信摇骰子和猜拳作弊器插件的简单辅助功能,而在整个反编译过程中,我们可以看到,寻找Hook点才最重要的,而最难的同样也是找到这个点,通常必须进行逆向分析微信应用来确定这个点的位置。在这个反编译的过程中,我们又学习到了一些新的逆向应用技巧知识点,后续还将会继续给大家分享其他的QQ/微信作弊器插件功能知识点,敬请期待。