美文网首页逆向 & 外挂Android开发程序员
微信掷骰子,如何掷出6个6?

微信掷骰子,如何掷出6个6?

作者: wuhtt | 来源:发表于2017-09-26 13:41 被阅读1144次

欢迎访问我的博客,阅读体验会更好哦。

微信自定义表情的石头剪刀布还有掷骰子,相信大家都有玩过,它的结果是随机的,那有没有一种办法使这个结果确定呢?

百度知道

百度知道上是这么说的,我试了一下,不行,重发的时候会骰子的点数会再次改变,可能是对老版本才适用吧。

其实,在 Android 中使用 Xposed 框架可以完成类似的需求的,在很久以前,我就用过这种插件了,而且在github 上有开源的项目,但是这些项目现在没有适配新版本的微信,而且写 xposed 插件,代码本身没什么,最主要的是找到切入点,什么时候hook,什么时候改变返回等,本文使用最新版本的微信,以hook掷骰子为例,写一个插件,让每一次掷骰子的结果确定。

微信版本

我们要找到掷骰子时执行的关键方法,怎么找呢?

  1. 反编译app后,顺着逻辑,猜着找,app经过混淆后,代码可读性很差,难度较大
  2. 通过一些工具来抓取关键方法执行顺序的log,这里介绍两款 icodetoolsAppMethodOrder

通过 AppMethodOrder 抓到了掷骰子,到骰子点数出现的过程中,所有执行过的方法,如图所示:

很多的

然后,我们搜索random,因为他有很大的可能会调用这个函数实现随机,发现只有这个地方用到:

而且可以看到,跟 tencent 有关的,而且返回值是 int 的函数是这个:

基本确定是这个就是关键的的函数了,我们可以看一下代码

这代码是啥意思呢?经过我调试发现,但我们点剪刀石头布的时候参数是2和0,当点击骰子的时候,参数是5和0,所以其实函数的作用就是生成参数一范围内的随机数。

好的找到了关键函数函数后我们hook这个dM方法:

改变他的返回值:

这里稍微注意一下,如果将返回值设置成5,而选择的是剪刀石头布的时候,微信会崩掉。。。

z可以通过 XSharedPreferences 来完善这个项目,动态修改这个值实现骰子点数的变化。

最后看一下效果?

效果图

欢迎打赏、点赞、关注。

参考

Android中利用icodetools工具快速定位App破解中关键点方法

相关文章

  • 微信掷骰子,如何掷出6个6?

    欢迎访问我的博客,阅读体验会更好哦。 微信自定义表情的石头剪刀布还有掷骰子,相信大家都有玩过,它的结果是随机的,那...

  • 7月营我的小组-6组

    分配小组的形式很新颖,掷骰子决定! 我掷出了一个6,所以就是6组了,到目前为止我的组员都在下图了! 昨晚上11点进...

  • 掷骰子,掷出一篇文

    时间真快,眨眼间2018将离我们远去,接下来就是拥抱2019了。 从明天开始的三天元旦小长假,让幼儿园的美女们脸上...

  • 《画符》

    以前练符,将骰子符画了放在身上,不可告诉他人。之后叫对方掷骰子,这样你叫多少点数,对方也就掷出同样点数,神奇呀! ...

  • 人生的智慧(64)叔本华哲学著作

    人生就像掷骰子游戏, 如果你对掷出的结果不满意, 就只能使用技巧 去改变命运发下来的骰子了。 命运负责洗牌和发牌,...

  • 微信小程序联盟:官方文档+精品教程+demo集合(6月16日更新

    6月16日更新 微信小程序--绘图canvas微信小程序--如何实现动画效果微信小程序---设计支付密码的输入框微...

  • 新媒体引流技巧,微信群这样推广引流客户源源不断

    微信群如何做引流?微信群如何做推广?如何通过微信群做推广引流?微信群怎么做营销?微信群如何做精准引流?在微信营销中...

  • 微商培训课程、微商如何加好友?

    微信定位加好友软件、、如何做微信推广之微信大号营销推广、如何做好微信营销、如何利用微信做营销、微信营销教程 从泉立...

  • 如何在6个月内学习深度学习(翻译)

    原文链接:如何在6个月内学习深度学习(翻译) 微信公众号:机器学习养成记 搜索添加微信公众号:chenchenw...

  • 读《濒死之眼》

    江岛先生说过吧!发生车祸就和掷骰子一样,被害者只是恰巧掷出不好的点数。当时你说那些话,是用来安慰自以为是肇事者的我...

网友评论

    本文标题:微信掷骰子,如何掷出6个6?

    本文链接:https://www.haomeiwen.com/subject/ftysextx.html