如何让微信丢骰子永远只出“666”

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

准备工作

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

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

猜想假设

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

逆向分析

反编译apk

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

找到色子对应控件的id

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

1.png

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

2.png 

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

3.png 

查找Hook点

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

4.png 

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

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值