聪少

聪少爱学堂 专注分享全网引流精准引流方法及自媒体运营干货

高端大气上档次·玩转微信摇色子

发布时间:2021-06-29 11:00:13 已收录 阅读:7次

每次宅寝室一起点外卖,谁下去拿都是个大问题,所以小编寝室一般选择微信色子,谁小谁去拿。但是小编运气不太好,总是输。所以寻思着能不能每次都让色子是6点。果然找到了方法。

 

 

  需要一台已经root并且安装了Hook神奇Xposed框架。在Hook过程中最重要的一点就是要找到Hook点这也是最难的部分。找到Hook点之后编写Xposed模块就比较简单了。

  本次实验使用的weixin版本是6513。

 

 

  我们先猜测微信摇色子是怎么实现的。如果有简单编程经验的朋友肯定会猜测是random函数。其实我也是这么猜的。

 

1. 反编译apk

 进行简单的准备工作:使用apktool反编译apk。使用Jadx打开微信的apk。微信较大,打开会比较慢。

2. 找到色子对应控件的id

 这一步可以借助AndroidSDK提供的一个工具:uiautomatorviewer.bat。可以看到下面的界面。

 

 

 可以看到色子控件对应的id是cph。然后在public.xml中找到cph对应的值为0x7f100d28。

 

 

 最后用这个值去R类里面找到真正使用的名称为bfq

 

 

3. 查找Hook点

  最难的部分就是查找hook点。在jadx中全局搜索bqf。显然这个findViewById()才是我们要找的东西,双击点进去看代码。如果有多个需要一个一个看。

 

 

  上下查看这个类包含的内容。可以知道这是一个baseAdapter类。但是getView方法中没有设置点击事件。

 

 

  全局搜索调用这个函数的地方进行查找。

 

 

  双击进入代码查看,看到是SmileyGrid类型的控件。查看SmileyGrid定义。

 

 

  对onItemClick中的方法一个一个分析,最后发现红框中才是我们要找的方法。

 

 

  查看a函数代码,可以看到最下面两个是toast,显然不是。接下来就需要对剩下的分支进行查看。

 

 

  查看之后我们知道是第一个也就是c c = ((com.tencent.mm.plugin.emoji.b.c) h.j(com.tencent.mm.plugin.emoji.b.c.class)).getEmojiMgr().c(cVar);

  根据导入的包信息我们可以知道是com.tencent.mm.kernel.h并且类型是com.tencent.mm.plugin.emoji.b.c继续看这几处的代码进行分析。

 

 

 下面是h.j的代码,返回是j。

 

 

 下面是emoji.b.c的代码,我们可以知道是一个接口。

 

 

  在做到这里的时候卡了好久没什么思路了,然后写了一个简单的xposed模块hook了com.tencent.mm.kernel.h的j函数看看返回的类型是什么。

 

 

  将模块装安装重启后,打开weixin清空logcat然后点击色子,看到了下面的输出,可以知道输入参数的类型是com.tencent.mm.plugin.emoji.b.c返回的类型是com.tencent.mm.plugin.emoji.PluginEmoji。然后看看PluginEmoji的代码。

 

 

  看到PluginEmoji包含了getEmojiMgr方法,重点看这个方法。

 

 

  有了前面的经验,这里就在前面的那个模块也hook了这个方法看看返回的具体是什么。点击之后在上面的提示出现了另一行。返回的具体是com.tencent.mm.plugin.emoji.e.g再去看emoji.e.g的代码。

 

 

  重点当然是分析emoji.e.g的c方法。代码如下。通过yH.movToPosition(dM)知道dM才是关键,继续追踪bf.dM的代码。通过导入的包可以知道来自com.tencent.mm.sdk.platformtools.bf。

 

 

  看到这个Random函数还真是有点小激动啊。估摸应该是这里了。同样hook看一下输入参数和返回的参数是什么。

 

 

  输入的参数都是5和0,输出的正好和点数相对应,3对应4点,1对应2点,1对应0点.

 

 

 

  找到随机数的返回点,接下来写hook模块就简单了。还有一点要注意的是,石头剪刀布也是用的这个随机函数。所以写的时候要注意一下。

 

 

最后体验一下效果如何。

 

 

这下终于不用拿外卖了。

 

聪少爱学堂,专注分享全网精准引流方法及自媒体赚钱运营干货。

聪少私人微信:80110557,暗号:8

送见面礼:价值980元自媒体运营与抖音热门教程礼包一份。

或微信扫描下面二维码,马上添加

版权声明:本站原创文章,于2021-06-29 11:00:13,由 聪少 发表!

转载请注明:高端大气上档次·玩转微信摇色子 - 聪少爱学堂

评论区

表情

共4条评论

站内搜索

聪少简介

聪少爱学堂聪少
聪少爱学堂创始人,梅州市鹏鑫网络科技有限公司CEO,09年开始踏入互联网,10年互联网行业经验,资深自媒体人,自媒体优秀导师,咪挺微商团对营销引流顾问,业务包含:精准引流技术/代引流精准粉,专业小红书,知乎,微博代运营。