当前位置:首页 > 行业资讯 > 微商代理项目

微信骰子表情包1到6真实

查看人数:发布时间:2021-07-17 10:01:02

内容详情

让微信骰子每次都是6点

每次在寝室点外卖,谁下去拿都是个大问题,所以一般会在小卧室里选微信骰子。但是小编运气不好,总是输。所以我在想我是不是每次都能把骰子打到6点。果然,我找到了办法。

准备工作:

需要一个安装了root和hook的神奇的xposed框架。hook过程中比较重要的是找到hook点,这也是比较难的部分。找到hook点后写xposed模块更容易。

这个实验用的微信版本是6513。

猜想假设

我们来猜猜微信是怎么摇骰子的。如果你有简单的编程经验,你的朋友肯定会猜到随机函数。其实这是我的猜测。

逆向分析

1.反编译apk

做一个简单的准备:用apktool反编译apk。用jadx打开微信的apk。微信比较大,打开会比较慢。

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

这一步可以使用androidsdk提供的一个工具:uiautomatorviewer.bat你可以看到下面的界面。

您可以看到对应于子控件的id是cph。那么,对应于cph的值在public.xml中是0x7f100d28.

比较后,使用这个值在r类中找到真正的名字bfq

3.找到钩点

比较难的是找到钩点。在jadx中全局搜索bqf。显然,这个findviewbyid就是我们要找的。双击它阅读代码。如果很多的话,需要一个一个看。

上下查看这个类包含的内容。您可以知道这是一个baseadapter类。但是,getview方法中没有设置事件。

搜索全局调用该函数的地方。

双击进入代码视图,可以看到它是一个smileygrid类型的控件。请参见笑脸网格定义。

逐一分析了onitemclick中的方法,发现红框就是我们要找的方法。

看a函数代码,可以看到下面两个是吐司,但显然不是。接下来,你需要看看剩下的分支。

/p

查了一下就知道是第一个,就是c c=((com。腾讯. 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.

下面是表情符号b.c的代码,我们可以知道它是一个接口。

我做这个的时候也没多想,然后写了一个简单的e xposed模块来挂接com.tencent.mm.kernel.h的j函数,看看返回的类型是什么。

重启模块安装后,打开weixin,清空logcat,骰子,看到如下输出。可以知道输入的参数类型是com . tencent . mm . plugin . emoji . b . c .返回的类型是com . tencent . mm . plugin . emoji . pluginemoji .再看看plugine moji的代码。

看到pluginemoji包含getemojimgr方法,重点关注这个方法。

根据以前的经验,这里的模块也可以挂钩这个方法来查看返回了什么。单击后,上面的提示中会出现另一行。具体返回的是com。腾讯. mm.plugin.emoji.e.g .然后去看看emoji.e .的代码

重点当然是表情符号的c方法.代码如下。通过yh知道数据挖掘是关键。movetopology (dm),并继续跟踪bf.dm代码。可以从com了解。腾讯. mm.sdk.platformtools.bf通过导入包。

看到这个random函数有点激动。估计应该在这里。同样,hook查看输入参数和返回参数是什么。

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

p

书写模块

求随机数的返回点,然后写钩子模块。还有一点需要注意的是,石头、剪刀、布也使用这个随机函数。所以写作的时候要注意。

比较后体验效果。

比较后,我们不用带外卖。

摘要

1.查找id:对于控件的click事件,可以使用uiautomatorviewer定位控件的id,然后通过public.xml和r class查找真实的类名和十六进制id。

2.定位键码:接下来比较难的是定位键码,这通常需要很多时间,多练习可以提高速度。

3.写e xposed模块:找到关键函数后,写模块就比较简单了。有些应用分包的时候要注意。

猜你喜欢