likes
comments
collection
share

Java 破解腾讯微信跳一跳(几乎每次命中中心点,目前最高 19844 分)

作者站长头像
站长
· 阅读数 8

运行起来的同学,欢迎在评论区里,贴出自己现在中心点的命中率。

如果有同学对Android无障碍服务熟悉并且有时间有精力,可以实现一个基于Android无障碍服务的外挂,那样就不需要连接ADB与电脑了。

我没有想到有那么多同学问我如何导入项目。主要的问题在于:

  • 如何导入项目?
  • 为什么不上传wechat_jump_hack.iml文件?

点击此处,查看详细教程

程序控制小人自动跳,几乎每次命中中心点。

为了更好的展示运行效果,我贴一个刚刚录制的视频。v.youku.com/v_show/id_X…

如果你的运行效果,不像这个视频中所示,请一定要认真阅读“温馨提示”这个章节。

附上 GitHub 地址: github.com/burningcl/w… 欢迎大家与我交流意见。破解过程,总共花了3个小时,不断地调整算法与参数,因此代码比较乱,还请见谅。

2018/01/04优化

根据同学们的反馈,我今天午休时,抽了20分钟,优化了一下算法。

  1. 提高瓶子的识别率。

    由于瓶子的颜色比较接近,新实现了一种算法用于瓶子的瓶盖的识别。效果如下:

    Java 破解腾讯微信跳一跳(几乎每次命中中心点,目前最高 19844 分)

  2. 提高出现特殊盒子时,下步的计算。

    特殊盒子,例如留声机,他的动效时间很长,而且很大,对下一步的识别产生干扰。因此,改进了一下算法,减少干扰的影响。效果如下:

    Java 破解腾讯微信跳一跳(几乎每次命中中心点,目前最高 19844 分)

  3. 新增加了HackTest.java文件。大家在运行Hack.java后,会在wechat_jump_hack/out/production/wechat_jump_hack/imgs/input/目录下存放截图文件。运行Hack.java结束后,再运行HackTest.java,会在wechat_jump_hack/out/production/wechat_jump_hack/imgs/output/下生成input目录中的截图的位置标记。

    Java 破解腾讯微信跳一跳(几乎每次命中中心点,目前最高 19844 分)

    • 红点表示玩家位置;
    • 绿点表示下一个盒子的边界点;
    • 蓝点表示下一个盒子的中心点;

    如果觉得跳得不准的同学,请运行HackTest.java文件,观察标记的位置是否准确。如果准确的话,请自行调整弹跳系数。笔者无法做到我所用的弹跳系数适用于所有的设备。

  4. 添加对命中中心点的统计

    screenshot, file: /Users/chenliang/SkylineProjects/wechat_jump_hack_1/out/production/wechat_jump_hack_1/imgs/input/1092.png
    438, 364
    pos, x: 404, y: 1104
    find myPos, succ, (404, 1104)
    191, 217, 194
    232, 258, 266
    top, x: 732, y: 803
    true
    left, x: 599, y: 880
    right, x: 868, y: 880
    whitePoint: 752, 715, 887, 866
    find whitePoint, succ, (733, 876), centerHit: 901, total: 1093
    find nextCenter, succ, (733, 876)
    distance: 554
    /Users/chenliang/Library/Android/sdk/platform-tools/adb shell input swipe 400 400 400 400 554
    

    根据我的运行结果,命中中心点的概率,大约为82%~85%。因为微信也在改进,命中中心点的难度也在提高

  5. 对于最后的成绩无法提交

微信已经做了屏蔽措施,判定作弊无法上传数据。