235369游戏盒下载/手机/安卓版/系统更新需要多久时间?

扫一扫下载到手机
51MB/ 角色扮演 /8.9
921KB/ 手游辅助 /9.4
下载总览游戏礼包游戏截图视频演示猜你喜欢下载地址相关文章玩家评论
3楼安卓破解版是一款专为手游玩家打造的游戏交流。在这里,游戏玩家们可以实时在线交流,这里每天有成千上万的葫芦侠迷们在这里实时交流。同时,你不知道的游戏通关技巧、攻略等,还有专人为你解答哦,欢迎广大朋友下载!
葫芦侠3楼破解版特色: 1、绿色,永久免费:使用三楼绝对安全放心,我们也永远不会收取任何费用。 2、侠客精神,互助分享:修改破解,攻略心得,提问解答,所有好东西大家都会无私分享,互助互利。 3、多多,版块多多:很多热门游戏,三楼都会有对应版块方便大家讨论。相应的激活码和礼包也少不了啦。
葫芦侠3楼更新内容: 版本:v3.5.0.47 日期:2016年31日
1.新的内置,使用更流畅; 2.修复Bug,更稳定。
版本:v3.5.0.41   日期:日 1.修复首页卡顿问题;
2.修复闪退问题;
3.修复一些隐藏bug。
版本:v3.5.0.37 日期:日
1.游戏详情页优化; 2.消息通知夜间防骚扰; 3.修复Bug。
版本:v3.5.0.35 日期: 1、本版本优化了消息推送,提高了消息到达速度; 2、解决了若干缺陷,优化用户体验。
版本:v3.5.0.32   日期:日
1.提供各种精彩搞笑铃声; 2.炫酷个人,个性; 3.QQ快捷登录; 4.版主认证防骗纸。
版本:v3.5.0.28   日期:日
-添加夜间模式,在设置中心开启或关闭。给你更好的使用体验~
-解决若干bug~
猜你喜欢修改器游戏助手游戏盒子
手机修改器的作用是通过修改游戏数值实现原本游戏不具备的功能,最有名的就是烧饼修改器了。烧饼修改器是烧饼哥开发的一款集系统辅助和游戏辅助为一体的辅助工具集合。不论...
专区活动开服
葫芦侠3楼官网安卓破解版
游戏礼包推荐礼包
下载帮助网侠手机站软件均来自互联网, 如有侵犯您的版权, 请点击网站底部在线QQ进行联系。
1.网侠手机站所有软件和游戏都经过严格安装检测,保证不会有任何病毒木马等信息,请大家放心使用;
2.大家在安装软件的时候注意每个步骤,注意包含安装插件信息,推荐使用下载本站软件以获取最佳的下载速度。
3.如果您觉得网侠还不错, 以便下一次的访问.
4.网侠QQ群:应用软件交流群:
手机游戏交流:
(满),加入二群:235游戏/手机安卓版服务器流畅不,会不会顿卡_百度知道
235游戏/手机安卓版服务器流畅不,会不会顿卡
235游戏/手机安卓版服务器流畅不,会不会顿卡好,玩,啊 pj5677.c&shyn音乐有哪些类型?分别有什么风格?答:流行 英伦 朋克 民谣 金属 后摇 爵士 轻音乐 乡村 摇滚 经典
我有更好的答案
好,玩,啊 357911.n&shye&shyt
采纳率:100%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。热门搜索:
当前位置:
47代理2017
27代理破解版2017是目前最新的一款游戏加速工具,这款软件的客户端GameCap是一款设置简单、功能强大的代理软件,与著名的代理软件Sockscap和Proxycap类似,具有自动更新和网络检测功能,在网络游戏加速方面的应用尤为突出,小编带来的破解版支持无限试用,让你使用无忧,喜欢的小伙伴不妨下载试试~
GameCap集成了服务器列表,具有自动更新和网络检测功能,在网络游戏加速方面的应用尤为突出;GameCap魔兽版只针对魔兽世界提供服务,专精于国服魔兽世界、台服魔兽世界提速,能让你的魔兽世界延迟保持常绿。
针对性强.好钢用在刀刃上,二七代理(27代理)把优质的带宽充分使用在游戏加速方面,专门提供魔兽世界加速,而放弃了下载加速.浏览网页加速和其他网络游戏加速等功能。
服务周到.GameCap的使用不限时间不限地点,而且一个代理帐号在所有的服务器上通用,用户可以随时切换服务器。
适应各种网络条件.电信.网通.教育网.铁通.联通.移动和其它类型的宽带用户都可以获得不同程度的加速效果。
安全可靠.GameCap通过Socks5协议传输数据,使用256位隧道加密技术,完全杜绝靠截获和分析网络数据包盗取密码的可能。
登录代理:默认的试用帐号已填好,点[免费试用]按钮可以自动填写;
运行游戏:双击加速器客户端中的游戏图标,没有图标请点[添加]按钮;
判断效果:进游戏后,加速器界面显示的流量统计增加即表明加速成功。
7.77MB|5.5
16.30MB|5.5
27.60MB|5.5
电脑版下载
安卓版下载
苹果版下载
本站仅创建用户沟通交流的信息平台,所展示的游戏/软件内容来均来自于第三方用户上传分享,资源仅作为用户间分享讨论之用,除开发商授权外不以盈利为目的。如果侵犯了您的权益,请反馈,我们将第一时间处理。
装机必备软件
微信号: 游迅网
扫描二维码添加
海量单机游戏免费下载!
您身边的手机游戏宝库!
CopyRight2004年-年 YXdown.Com 游迅网 All Rights Reserved
备案编号:沪ICP备号-9&figure&&img src=&https://pic1.zhimg.com/v2-d488ef4adb4c8_b.jpg& data-rawwidth=&640& data-rawheight=&457& class=&origin_image zh-lightbox-thumb& width=&640& data-original=&https://pic1.zhimg.com/v2-d488ef4adb4c8_r.jpg&&&/figure&&p&小游戏跳一跳最近刷爆了朋友圈 &/p&&p&&br&&/p&&p&前几天,跳一跳刷爆了我朋友圈,小编试玩了十几分钟,最高也才拿了50+。当时我心想,这个应该很好作弊,只要配合着秒表来跳,超过500分应该不难。另外,这款小程序内容如此简单,外挂对于程序员而言应该不难,很快就有外挂出现,就像当年火爆朋友圈的黑白飞机一样&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-18ee1eaeb9_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&629& data-rawheight=&548& class=&origin_image zh-lightbox-thumb& width=&629& data-original=&https://pic4.zhimg.com/v2-18ee1eaeb9_r.jpg&&&/figure&&p&&br&&/p&&p&就是这款游戏&/p&&p&&br&&/p&&p&当年这款游戏刚出的时候,也是火爆了朋友圈。但是没过几天,就有人破解了该游戏的分数系统,外挂横行&/p&&p&&br&&/p&&p&于是,我好奇打开了万能的淘宝,果然&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-bd7c6214b58eec61b0a3e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1101& data-rawheight=&816& class=&origin_image zh-lightbox-thumb& width=&1101& data-original=&https://pic2.zhimg.com/v2-bd7c6214b58eec61b0a3e_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&刚刚数了一下,&b&一共663个卖家&/b&&/p&&p&&br&&/p&&p&其中,赚钱赚得最多的是这位&/p&&p&&br&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-50bee3baed6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&955& data-rawheight=&495& class=&origin_image zh-lightbox-thumb& width=&955& data-original=&https://pic2.zhimg.com/v2-50bee3baed6_r.jpg&&&/figure&&p&一共卖出1885件,单价是10元,加上快递费50,单价60&/p&&p&&br&&/p&&p&&b&共赚100&/b&&/p&&p&&br&&/p&&p&&b&所有数据都可以在淘宝看到,大家也可以直接上淘宝搜,没必要作假也无法作假。事实上,这篇文章是我4天前写的,现在肯定不止这个数字了&/b&&/p&&p&&br&&/p&&p&我特地看了下,这间店铺只卖这个产品&/p&&figure&&img src=&https://pic4.zhimg.com/v2-68b54bbe5a1b18eae976_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&990& data-rawheight=&648& class=&origin_image zh-lightbox-thumb& width=&990& data-original=&https://pic4.zhimg.com/v2-68b54bbe5a1b18eae976_r.jpg&&&/figure&&p&&br&&/p&&p&&b&也就是说,店家嗅到了这波热点的味道,并马上在淘宝开店,短短几天时间,就赚到了11万&/b&&/p&&p&&br&&/p&&p&这波热点还没过,跳一跳还会持续火一段时间,这位店铺卖家最终赚个20万难度不大&/p&&p&&br&&/p&&p&可能很多人说,跳一跳需要能力啊,就算我嗅到了这波热点,我也无法靠这个赚钱啊! &/p&&p&&br&&/p&&p&我只能说,看图&/p&&p&&br&&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-19dea6afeea_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&917& data-rawheight=&490& class=&origin_image zh-lightbox-thumb& width=&917& data-original=&https://pic3.zhimg.com/v2-19dea6afeea_r.jpg&&&/figure&&p&&br&&/p&&p&&br&&/p&&p&只需4块钱,全自动跳一跳秘笈带回家&/p&&p&&br&&/p&&p&小编经常都说赚钱的方法很多,可以说到处都是,但是总是有朋友在后台回复小编吹牛。其实现实社会真的是这样,随时都有赚钱的方法,只是我们想不到罢了&/p&&p&&br&&/p&&p&像这段时间的支付宝扫码活动&/p&&p&大部分人:懒得弄,或者看不起这些小钱&/p&&p&一小部分人:转发至朋友圈,微信群,争取有更多的人扫描自己的二维码&/p&&p&更小部分人:做出自己的二维码,利用自己的资源,让更多人扫描&/p&&p&顶尖的人:一个月赚了几十万&/p&&p&&br&&/p&&p&&b&世界上不缺少钱,只是缺少发现钱的眼光&/b&&/p&&p&&br&&/p&&p&就是这样&/p&&p&&br&&/p&&p&共勉&/p&&p&&br&&/p&&p&&br&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-5bd567e3bce3d509cd3b9d1_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&341& data-rawheight=&18& class=&content_image& width=&341&&&/figure&&p&公众号:毕业不等失业&/p&&p&ID: bybdysy&/p&&p&全国最温暖的大学生平台&/p&&p&&br&&/p&&p&公众号福利&br&&/p&&p&回复&/p&&p&【12】17种大学生可操作的兼职模式&br&&/p&&p&【16】800元从中公学来的简历写法&/p&&p&【18】两年考六七个证书的复习方法&/p&&p&&br&&/p&&p&&br&&/p&&p&&a href=&http://link.zhihu.com/?target=http%3A//weixin.qq.com/r/NUh3b_TExLm7raAM9x0n& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&weixin.qq.com/r/NUh3b_T&/span&&span class=&invisible&&ExLm7raAM9x0n&/span&&span class=&ellipsis&&&/span&&/a& (二维码自动识别)&/p&&p&&/p&
小游戏跳一跳最近刷爆了朋友圈 前几天,跳一跳刷爆了我朋友圈,小编试玩了十几分钟,最高也才拿了50+。当时我心想,这个应该很好作弊,只要配合着秒表来跳,超过500分应该不难。另外,这款小程序内容如此简单,外挂对于程序员而言应该不难,很快就有外挂出…
&figure&&img src=&https://pic1.zhimg.com/v2-0d05c3af5bf7c42fc9abb1e419a793e5_b.jpg& data-rawwidth=&1081& data-rawheight=&462& class=&origin_image zh-lightbox-thumb& width=&1081& data-original=&https://pic1.zhimg.com/v2-0d05c3af5bf7c42fc9abb1e419a793e5_r.jpg&&&/figure&&p&这几天被小程序跳一跳刷屏。无奈手残党日夜奋战才上300分,朋友圈的大牛快被删光了还没拿到第一 。&/p&&p&相信各种加分盒子大家都知道怎么踩了。&br&这里分享一个无意中发现的大杀器&/p&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-2deaee3fde085bc4c517bef12b60.jpg& data-image-width=&500& data-image-height=&285& class=&internal&&神奇的战士:教你用Python来玩微信跳一跳&/a&&p&但是杀器是python版,很多非计算机专业的朋友比较难使用,本着抢月饼要大家都能抢才公平的原则,楼主移植了一个安卓版辅助工具&/p&&p&项目源码地址&/p&&a href=&https://link.zhihu.com/?target=https%3A//github.com/zhchaoo/WeChatJump& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic1.zhimg.com/v2-c1b7d97eec98_ipico.jpg& data-image-width=&400& data-image-height=&400& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&zhchaoo/WeChatJump&/a&&p&Apk百度云下载地址&/p&&a href=&https://link.zhihu.com/?target=https%3A//pan.baidu.com/s/1o8pAMCE& data-draft-node=&block& data-draft-type=&link-card& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pan.baidu.com/s/1o8pAMC&/span&&span class=&invisible&&E&/span&&span class=&ellipsis&&&/span&&/a&&p&图来了:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-4cccf8ead8fb04c7cdcd_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1280& data-rawheight=&2276& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic4.zhimg.com/v2-4cccf8ead8fb04c7cdcd_r.jpg&&&/figure&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-0e4555aae02a012c4cefa117a971dc01_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1280& data-rawheight=&2276& class=&origin_image zh-lightbox-thumb& width=&1280& data-original=&https://pic3.zhimg.com/v2-0e4555aae02a012c4cefa117a971dc01_r.jpg&&&/figure&&p&注意,需要root后才能使用,祝大家玩的愉快~&/p&&p&&br&&/p&&p&更新日志:&/p&&p&v1.0.5&/p&&p&增强防ban机制,可以上榜&/p&&p&v1.0.4&br&&br&增加悬浮窗,显示距离和控制按钮(右下角)&br&&/p&&p&v1.0.3&br&&br&增强稳定性并加快了跳跃速度&br&&/p&&p&v1.0.2&br&&br&每次跳跃,随机点击,防止被ban&br&&br&增加更多机型配置&/p&&p&&/p&
这几天被小程序跳一跳刷屏。无奈手残党日夜奋战才上300分,朋友圈的大牛快被删光了还没拿到第一 。相信各种加分盒子大家都知道怎么踩了。 这里分享一个无意中发现的大杀器但是杀器是python版,很多非计算机专业的…
&figure&&img src=&https://pic3.zhimg.com/v2-ad8e7edc7cbe935bcfac29e2ecf0732a_b.jpg& data-rawwidth=&720& data-rawheight=&480& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic3.zhimg.com/v2-ad8e7edc7cbe935bcfac29e2ecf0732a_r.jpg&&&/figure&&div class=&highlight&&&pre&&code class=&language-python3&&&span&&/span&&span class=&kn&&import&/span& &span class=&nn&&requests&/span&
&span class=&kn&&import&/span& &span class=&nn&&json&/span&
&span class=&kn&&import&/span& &span class=&nn&&time&/span&
&span class=&kn&&from&/span& &span class=&nn&&Crypto.Cipher&/span& &span class=&k&&import&/span& &span class=&n&&AES&/span&
&span class=&kn&&import&/span& &span class=&nn&&base64&/span&
&span class=&n&&action_data&/span& &span class=&o&&=&/span& &span class=&p&&{&/span&
&span class=&s2&&&score&&/span&&span class=&p&&:&/span& &span class=&mi&&10086&/span&&span class=&p&&,&/span&
&span class=&s2&&&times&&/span&&span class=&p&&:&/span& &span class=&mi&&666&/span&&span class=&p&&,&/span&
&span class=&s2&&&game_data&&/span&&span class=&p&&:&/span& &span class=&s2&&&&/span&&span class=&si&&{}&/span&&span class=&s2&&&&/span&
&span class=&p&&}&/span&
&span class=&n&&session_id&/span& &span class=&o&&=&/span& &span class=&s2&&&5TrXoE7IXtM/Nr7vITnbU9bmR53VH0u8RkVnm6m/Fezg==&&/span&
&span class=&n&&aes_key&/span& &span class=&o&&=&/span& &span class=&n&&session_id&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&:&/span&&span class=&mi&&16&/span&&span class=&p&&]&/span&
&span class=&n&&aes_iv&/span&
&span class=&o&&=&/span& &span class=&n&&aes_key&/span&
&span class=&n&&cryptor&/span& &span class=&o&&=&/span& &span class=&n&&AES&/span&&span class=&o&&.&/span&&span class=&n&&new&/span&&span class=&p&&(&/span&&span class=&n&&aes_key&/span&&span class=&p&&,&/span& &span class=&n&&AES&/span&&span class=&o&&.&/span&&span class=&n&&MODE_CBC&/span&&span class=&p&&,&/span& &span class=&n&&aes_iv&/span&&span class=&p&&)&/span&
&span class=&n&&str_action_data&/span& &span class=&o&&=&/span& &span class=&n&&json&/span&&span class=&o&&.&/span&&span class=&n&&dumps&/span&&span class=&p&&(&/span&&span class=&n&&action_data&/span&&span class=&p&&)&/span&&span class=&o&&.&/span&&span class=&n&&encode&/span&&span class=&p&&(&/span&&span class=&s2&&&utf-8&&/span&&span class=&p&&)&/span&
&span class=&nb&&print&/span&&span class=&p&&(&/span&&span class=&s2&&&json_str_action_data &&/span&&span class=&p&&,&/span& &span class=&n&&str_action_data&/span&&span class=&p&&)&/span&
&span class=&c1&&#Pkcs7&/span&
&span class=&n&&length&/span& &span class=&o&&=&/span& &span class=&mi&&16&/span& &span class=&o&&-&/span& &span class=&p&&(&/span&&span class=&nb&&len&/span&&span class=&p&&(&/span&&span class=&n&&str_action_data&/span&&span class=&p&&)&/span& &span class=&o&&%&/span& &span class=&mi&&16&/span&&span class=&p&&)&/span&
&span class=&n&&str_action_data&/span& &span class=&o&&+=&/span& &span class=&nb&&bytes&/span&&span class=&p&&([&/span&&span class=&n&&length&/span&&span class=&p&&])&/span&&span class=&o&&*&/span&&span class=&n&&length&/span&
&span class=&n&&cipher_action_data&/span& &span class=&o&&=&/span& &span class=&n&&base64&/span&&span class=&o&&.&/span&&span class=&n&&b64encode&/span&&span class=&p&&(&/span&&span class=&n&&cryptor&/span&&span class=&o&&.&/span&&span class=&n&&encrypt&/span&&span class=&p&&(&/span&&span class=&n&&str_action_data&/span&&span class=&p&&))&/span&&span class=&o&&.&/span&&span class=&n&&decode&/span&&span class=&p&&(&/span&&span class=&s2&&&utf-8&&/span&&span class=&p&&)&/span&
&span class=&nb&&print&/span&&span class=&p&&(&/span&&span class=&s2&&&action_data &&/span&&span class=&p&&,&/span& &span class=&n&&cipher_action_data&/span&&span class=&p&&)&/span&
&span class=&n&&post_data&/span& &span class=&o&&=&/span& &span class=&p&&{&/span&
&span class=&s2&&&base_req&&/span&&span class=&p&&:&/span& &span class=&p&&{&/span&
&span class=&s2&&&session_id&&/span&&span class=&p&&:&/span& &span class=&n&&session_id&/span&&span class=&p&&,&/span&
&span class=&s2&&&fast&&/span&&span class=&p&&:&/span& &span class=&mi&&1&/span&&span class=&p&&,&/span&
&span class=&p&&},&/span&
&span class=&s2&&&action_data&&/span&&span class=&p&&:&/span& &span class=&n&&cipher_action_data&/span&
&span class=&p&&}&/span&
&span class=&n&&headers&/span& &span class=&o&&=&/span& &span class=&p&&{&/span&
&span class=&s2&&&charset&&/span&&span class=&p&&:&/span& &span class=&s2&&&utf-8&&/span&&span class=&p&&,&/span&
&span class=&s2&&&Accept-Encoding&&/span&&span class=&p&&:&/span& &span class=&s2&&&gzip&&/span&&span class=&p&&,&/span&
&span class=&s2&&&referer&&/span&&span class=&p&&:&/span& &span class=&s2&&&https://servicewechat.com/wx7c8d593b2c3a7703/3/page-frame.html&&/span&&span class=&p&&,&/span&
&span class=&s2&&&content-type&&/span&&span class=&p&&:&/span& &span class=&s2&&&application/json&&/span&&span class=&p&&,&/span&
&span class=&s2&&&User-Agent&&/span&&span class=&p&&:&/span& &span class=&s2&&&MicroMessenger/6.6.1.60130) NetType/WIFI Language/zh_CN&&/span&&span class=&p&&,&/span&
&span class=&s2&&&Content-Length&&/span&&span class=&p&&:&/span& &span class=&s2&&&0&&/span&&span class=&p&&,&/span&
&span class=&s2&&&Host&&/span&&span class=&p&&:&/span& &span class=&s2&&&mp.weixin.qq.com&&/span&&span class=&p&&,&/span&
&span class=&s2&&&Connection&&/span&&span class=&p&&:&/span& &span class=&s2&&&Keep-Alive&&/span&
&span class=&p&&}&/span&
&span class=&n&&url&/span& &span class=&o&&=&/span& &span class=&s2&&&https://mp.weixin.qq.com/wxagame/wxagame_settlement&&/span&
&span class=&n&&response&/span& &span class=&o&&=&/span& &span class=&n&&requests&/span&&span class=&o&&.&/span&&span class=&n&&post&/span&&span class=&p&&(&/span&&span class=&n&&url&/span&&span class=&p&&,&/span& &span class=&n&&json&/span&&span class=&o&&=&/span&&span class=&n&&post_data&/span&&span class=&p&&,&/span& &span class=&n&&headers&/span&&span class=&o&&=&/span&&span class=&n&&headers&/span&&span class=&p&&)&/span&
&span class=&nb&&print&/span&&span class=&p&&(&/span&&span class=&n&&json&/span&&span class=&o&&.&/span&&span class=&n&&loads&/span&&span class=&p&&(&/span&&span class=&n&&response&/span&&span class=&o&&.&/span&&span class=&n&&text&/span&&span class=&p&&))&/span&
&/code&&/pre&&/div&&p&&br&&/p&&h2&依赖:&/h2&&ol&&li&requests&/li&&li&pycrypto&/li&&li&python3&/li&&/ol&&h2&食用方法:&/h2&&p&抓包(小程序的https包,url包含wxagame,Android可用packet capture)获得session_id替换,修改action_data score字段。&/p&&p&python &a href=&http://link.zhihu.com/?target=http%3A//xxx.py/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&xxx.py&/a&&/p&&p&&br&&/p&&hr&&p&:&/p&&h2&&b&这个方法大概已经凉了,仅供参考,作弊需谨慎。楼主的大小号都已经不能正常更新成绩了。&/b&&/h2&&p&&br&&/p&&p&赶完1 / N 的DDL,更新游戏(version 3/5)的分析。内容和下面的文章的差不多&/p&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic1.zhimg.com/v2-56feeb1c844cfa34ec68f10_120x160.jpg& data-image-width=&1080& data-image-height=&1920& class=&internal&&爬虫:使用python对微信小游戏跳一跳刷分&/a&&p&&a class=&member_mention& href=&http://www.zhihu.com/people/c24a7b1b75b7e24727bf& data-hash=&c24a7b1b75b7e24727bf& data-hovercard=&p$b$c24a7b1b75b7e24727bf&&@爬虫&/a&&/p&&p&&br&&/p&&p&&br&&/p&&p&在微信(灰度)推送新版本的当天晚上,楼主宿舍4人齐齐耍起跳一跳。&/p&&p&耍了一阵室友们都跳过了100分,唯独楼主还在100以下挣扎。&/p&&p&这学期学的一门课程,恰好有一章关于游戏作弊,其中有内存修改器作弊和协议作弊,于是楼主“恶向胆边生”,决定作弊,弄个“大新闻”。&/p&&p&&br&&/p&&p&轻车熟路操起抓包工具,抓微信小程序的包,一番折腾之后有下面的发现。&/p&&figure&&img src=&http://pic1.zhimg.com/v2-6613bdd7be8698fdf3d708_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1286& data-rawheight=&69& class=&origin_image zh-lightbox-thumb& width=&1286& data-original=&http://pic1.zhimg.com/v2-6613bdd7be8698fdf3d708_r.jpg&&&/figure&&p&这三个是跳一跳游戏启动时发的包,包的作用在url上已经自解释了。&/p&&p&第一个包的内容,可以看到小程序的id和版本,这个截图的截取时间是,版本已更新到5。&/p&&figure&&img src=&http://pic2.zhimg.com/v2-9a13ddcdeedbf2420b4fdb94a2d20c15_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&748& data-rawheight=&192& class=&origin_image zh-lightbox-thumb& width=&748& data-original=&http://pic2.zhimg.com/v2-9a13ddcdeedbf2420b4fdb94a2d20c15_r.jpg&&&/figure&&p&保持抓包,去游戏里面跳几下,然后抓到下面这个包:&/p&&figure&&img src=&http://pic1.zhimg.com/v2-46ce4af6a16d9e192ea207cd34570ba4_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&689& data-rawheight=&174& class=&origin_image zh-lightbox-thumb& width=&689& data-original=&http://pic1.zhimg.com/v2-46ce4af6a16d9e192ea207cd34570ba4_r.jpg&&&/figure&&figure&&img src=&http://pic4.zhimg.com/v2-93d83e5cd19eb3e6582ebb98bca3d1c3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&454& data-rawheight=&411& class=&origin_image zh-lightbox-thumb& width=&454& data-original=&http://pic4.zhimg.com/v2-93d83e5cd19eb3e6582ebb98bca3d1c3_r.jpg&&&/figure&&figure&&img src=&http://pic4.zhimg.com/v2-2f3665c5cba5274cfe029c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&709& data-rawheight=&505& class=&origin_image zh-lightbox-thumb& width=&709& data-original=&http://pic4.zhimg.com/v2-2f3665c5cba5274cfe029c_r.jpg&&&/figure&&p&(...写到这里这里编辑器莫名其妙把我写的一大段整没了)&/p&&p&请求这个API 会上传手机的型号和一个report_list,report list内容不固定,上面那个包含了应该是一次游戏的信息,下面那个包括了scene(好像是分享按钮),观战信息(这个是在截取的,抓包的时候分享了游戏,顺便分析一下观战系统)。&/p&&p&&br&&/p&&p&要作弊必须知道成绩是如何上传的,到目前为止只发现了这个跟成绩有关的包。最简单的report list 只有best_score, score, break_record...这几个字段,所以楼主用抓包工具的重发功能,在重发之前拦截请求,把上面字段的值篡改掉,再发送请求。&/p&&p&经过几次尝试,虽然服务器返回了看似正常的值,游戏排行榜始终没有变化。&/p&&p&此处略过无数失败,包括用内存修改器改分数的尝试。&/p&&p&后来继续抓包,发现破纪录的游戏结束后会有向wxagame/wxagame_settlement的请求,随后的wxagame/wxagame_getfriendsscore 返回的myuserinfo已经包含更新后的记录。这里确定了新的目标是wxagame_settlement。&/p&&p&&br&&/p&&p&它长这样:&/p&&figure&&img src=&http://pic2.zhimg.com/v2-c2fd2afae47b6622b49ad_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&856& data-rawheight=&180& class=&origin_image zh-lightbox-thumb& width=&856& data-original=&http://pic2.zhimg.com/v2-c2fd2afae47b6622b49ad_r.jpg&&&/figure&&figure&&img src=&http://pic3.zhimg.com/v2-21f6b42eb87f3e04eee862_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1122& data-rawheight=&115& class=&origin_image zh-lightbox-thumb& width=&1122& data-original=&http://pic3.zhimg.com/v2-21f6b42eb87f3e04eee862_r.jpg&&&/figure&&p&所以目标就在action_data里。&/p&&p&&br&&/p&&p&这个action_data比较长,并且应该经过了加密。现在目标又变成了找到加密的算法。凭空找是不存在的,找算法大概有两个途径,在二进制可执行文件里面找;在源代码里面找。&/p&&p&通过搜索引擎找到一些相关资源:&/p&&blockquote&从微信小程序看前端代码安全&br&微信小程序包解析&/blockquote&&p&照着找到的方法解包,找到了game.js,经过代码压缩和混淆(为了防止逆向,同时也为了压缩小程序的体积),格式化一下展开了两万多行代码。&/p&&figure&&img src=&http://pic4.zhimg.com/v2-e576c79a7f9e8a0316aa7dcaa26de223_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1006& data-rawheight=&380& class=&origin_image zh-lightbox-thumb& width=&1006& data-original=&http://pic4.zhimg.com/v2-e576c79a7f9e8a0316aa7dcaa26de223_r.jpg&&&/figure&&figure&&img src=&http://pic3.zhimg.com/v2-af9b9e3dea12_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2223& data-rawheight=&600& class=&origin_image zh-lightbox-thumb& width=&2223& data-original=&http://pic3.zhimg.com/v2-af9b9e3dea12_r.jpg&&&/figure&&p&可以看到确实如资料所说用了Three.js游戏引擎。&/p&&p&&br&&/p&&p&现在目标就是找到发请求的地方,搜索一下&br&&/p&&figure&&img src=&http://pic3.zhimg.com/v2-2a66d09e19bcae0b925b6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1520& data-rawheight=&1100& class=&origin_image zh-lightbox-thumb& width=&1520& data-original=&http://pic3.zhimg.com/v2-2a66d09e19bcae0b925b6_r.jpg&&&/figure&&p&找到了。&/p&&p&然后就顺藤摸瓜吧,继续搜索。&/p&&p&&br&&/p&&p&最后就找到了加密算法,然后构造数据包发给服务器。&/p&&p&&br&&/p&&p&&b&关于action_data&/b&,这里展示version3 解密后数据:&/p&&figure&&img src=&http://pic3.zhimg.com/v2-b83b7bfdc99fb484d7c1326_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&778& data-rawheight=&152& class=&origin_image zh-lightbox-thumb& width=&778& data-original=&http://pic3.zhimg.com/v2-b83b7bfdc99fb484d7c1326_r.jpg&&&/figure&&p&game_data 里面包括 action list 和 music list。&/p&&p&在js代码里面的来源:&/p&&figure&&img src=&http://pic4.zhimg.com/v2-3fa7edc9b47d8f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1603& data-rawheight=&69& class=&origin_image zh-lightbox-thumb& width=&1603& data-original=&http://pic4.zhimg.com/v2-3fa7edc9b47d8f_r.jpg&&&/figure&&figure&&img src=&http://pic4.zhimg.com/v2-02c7016d3ddca8159156ade25d5a097f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&750& data-rawheight=&66& class=&origin_image zh-lightbox-thumb& width=&750& data-original=&http://pic4.zhimg.com/v2-02c7016d3ddca8159156ade25d5a097f_r.jpg&&&/figure&&p&&b&关于观战系统:&/b&&/p&&p&分享观战卡片后会有这样的的请求。&/p&&figure&&img src=&http://pic4.zhimg.com/v2-5aede01a03ecb8ac23deb8c14b824257_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&707& data-rawheight=&165& class=&origin_image zh-lightbox-thumb& width=&707& data-original=&http://pic4.zhimg.com/v2-5aede01a03ecb8ac23deb8c14b824257_r.jpg&&&/figure&&p&js 内的一点相关代码:&/p&&figure&&img src=&http://pic3.zhimg.com/v2-c3d2adfaa26da437ef71de_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&819& data-rawheight=&1161& class=&origin_image zh-lightbox-thumb& width=&819& data-original=&http://pic3.zhimg.com/v2-c3d2adfaa26da437ef71de_r.jpg&&&/figure&&p&观战的有关数据是通过 WebSocket发送的,楼主猜测action data里面的game_data在观战的时候被发送到观战的客户端。这里需要抓WebSocket的包,楼主没有这个条件没有进行下去。&/p&&p&&br&&/p&&p&全文完结。&/p&&p&&br&&/p&&p&PS : &/p&&p&1、评论提到了微信小游戏文档的数据加密部分。&/p&&a href=&http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/debug/wxagame/dev/tutorial/signature.html%3Ft%3D& data-draft-node=&block& data-draft-type=&link-card& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&用户数据的签名验证和加解密 · 小游戏&/a&&p&&br&&/p&&p&2、今天发现了这个&/p&&figure&&img src=&http://pic3.zhimg.com/v2-61f51e27a93e9dd330bee6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&915& data-rawheight=&294& class=&origin_image zh-lightbox-thumb& width=&915& data-original=&http://pic3.zhimg.com/v2-61f51e27a93e9dd330bee6_r.jpg&&&/figure&&p&&/p&
import requests
import json
import time
from Crypto.Cipher import AES
import base64
action_data = {
"score": 10086,
"times": 666,
"game_data": "{}"
session_id = "5TrXoE7IXtM/Nr7vITnbU9bmR53VH0u8RkVnm6m/Fezg=="
aes_key = session_id…
&figure&&img src=&https://pic3.zhimg.com/v2-e32c1b6febff2_b.jpg& data-rawwidth=&1071& data-rawheight=&705& class=&origin_image zh-lightbox-thumb& width=&1071& data-original=&https://pic3.zhimg.com/v2-e32c1b6febff2_r.jpg&&&/figure&&p&&/p&&figure&&img src=&https://pic2.zhimg.com/v2-9243771cdad22bab2dc4540_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1920& data-rawheight=&500& data-thumbnail=&https://pic2.zhimg.com/v2-9243771cdad22bab2dc4540_b.jpg& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic2.zhimg.com/v2-9243771cdad22bab2dc4540_r.gif&&&/figure&&p&最近“跳一跳”的游戏风靡朋友圈,我司CTO &a class=&member_mention& href=&https://www.zhihu.com/people/e9e244dcf18a3cd6e5d5c& data-hash=&e9e244dcf18a3cd6e5d5c& data-hovercard=&p$b$e9e244dcf18a3cd6e5d5c&&@Albert Jiang&/a& 默默跳出了8000+分,在“正常人玩到这个分段是有多无聊”的一(feng)片(kuang)群(ji)嘲(du)中,CTO童鞋甩出算法链接,光速打脸并终结了对话:&a href=&https://link.zhihu.com/?target=https%3A//www.kesci.com/apps/home/project/5a47c8ba25c4d4/code& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://www.&/span&&span class=&visible&&kesci.com/apps/home/pro&/span&&span class=&invisible&&ject/5a47c8ba25c4d4/code&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&感兴趣的童鞋可在K - Lab在线数据分析协作平台中一键Fork代码,下一个排行榜霸王花可能就是你吧~!&/p&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# 查看当前挂载的数据集目录&/span&
&span class=&err&&!&/span&&span class=&n&&ls&/span& &span class=&o&&/&/span&&span class=&n&&home&/span&&span class=&o&&/&/span&&span class=&n&&kesci&/span&&span class=&o&&/&/span&&span class=&nb&&input&/span&&span class=&o&&/&/span&&span class=&n&&jump6799&/span&&span class=&o&&/&/span& &span class=&o&&|&/span& &span class=&n&&wc&/span& &span class=&o&&-&/span&&span class=&n&&l&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# dependencies&/span&
&span class=&kn&&import&/span& &span class=&nn&&random&/span&
&span class=&kn&&import&/span& &span class=&nn&&os&/span&
&span class=&kn&&from&/span& &span class=&nn&&PIL&/span& &span class=&kn&&import&/span& &span class=&n&&Image&/span&
&span class=&kn&&import&/span& &span class=&nn&&math&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&k&&def&/span& &span class=&nf&&colorDiff&/span&&span class=&p&&(&/span&&span class=&n&&p1&/span&&span class=&p&&,&/span& &span class=&n&&p2&/span&&span class=&p&&):&/span&
&span class=&k&&return&/span& &span class=&n&&math&/span&&span class=&o&&.&/span&&span class=&n&&sqrt&/span&&span class=&p&&((&/span&&span class=&n&&p1&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&n&&p2&/span&&span class=&p&&[&/span&&span class=&mi&&0&/span&&span class=&p&&])&/span&&span class=&o&&**&/span&&span class=&mi&&2&/span& &span class=&o&&+&/span& &span class=&p&&(&/span&&span class=&n&&p1&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&n&&p2&/span&&span class=&p&&[&/span&&span class=&mi&&1&/span&&span class=&p&&])&/span&&span class=&o&&**&/span&&span class=&mi&&2&/span& &span class=&o&&+&/span& &span class=&p&&(&/span&&span class=&n&&p1&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&]&/span& &span class=&o&&-&/span& &span class=&n&&p2&/span&&span class=&p&&[&/span&&span class=&mi&&2&/span&&span class=&p&&])&/span&&span class=&o&&**&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&k&&def&/span& &span class=&nf&&showPixel&/span&&span class=&p&&(&/span&&span class=&n&&x&/span&&span class=&p&&,&/span& &span class=&n&&y&/span&&span class=&p&&):&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&5&/span&&span class=&p&&):&/span&
&span class=&k&&for&/span& &span class=&n&&j&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&mi&&5&/span&&span class=&p&&):&/span&
&span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&putpixel&/span&&span class=&p&&((&/span&&span class=&n&&x&/span& &span class=&o&&-&/span& &span class=&n&&i&/span&&span class=&p&&,&/span& &span class=&n&&y&/span& &span class=&o&&-&/span& &span class=&n&&j&/span&&span class=&p&&),&/span& &span class=&p&&(&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&&span class=&p&&))&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# 小人的底部颜色标识点&/span&
&span class=&c1&&# 标识点选法:打开PS,-&选择 -&色彩范围,容差设为0,使用吸管工具找底部连续同色区域&/span&
&span class=&c1&&# 使用此法可以找到相对不动点,加固定偏移量可获得底部中心坐标&/span&
&span class=&n&&tokenC&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&mi&&54&/span&&span class=&p&&,&/span& &span class=&mi&&60&/span&&span class=&p&&,&/span& &span class=&mi&&102&/span&&span class=&p&&)&/span&
&span class=&k&&def&/span& &span class=&nf&&isToken&/span&&span class=&p&&(&/span&&span class=&n&&p&/span&&span class=&p&&):&/span&
&span class=&k&&return&/span& &span class=&n&&colorDiff&/span&&span class=&p&&(&/span&&span class=&n&&p&/span&&span class=&p&&,&/span& &span class=&n&&tokenC&/span&&span class=&p&&)&/span& &span class=&o&&&=&/span& &span class=&mi&&1&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&c1&&# 随机选取一个图片&/span&
&span class=&n&&imgDir&/span& &span class=&o&&=&/span& &span class=&s1&&'/home/kesci/input/jump6799'&/span&
&span class=&n&&imgPath&/span& &span class=&o&&=&/span& &span class=&n&&random&/span&&span class=&o&&.&/span&&span class=&n&&choice&/span&&span class=&p&&(&/span&&span class=&nb&&list&/span&&span class=&p&&(&/span&&span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&path&/span&&span class=&o&&.&/span&&span class=&n&&join&/span&&span class=&p&&(&/span&&span class=&n&&imgDir&/span&&span class=&p&&,&/span& &span class=&n&&name&/span&&span class=&p&&)&/span& &span class=&k&&for&/span& &span class=&n&&name&/span& &span class=&ow&&in&/span& &span class=&n&&os&/span&&span class=&o&&.&/span&&span class=&n&&listdir&/span&&span class=&p&&(&/span&&span class=&n&&imgDir&/span&&span class=&p&&)))&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&img&/span& &span class=&o&&=&/span& &span class=&n&&Image&/span&&span class=&o&&.&/span&&span class=&n&&open&/span&&span class=&p&&(&/span&&span class=&n&&imgPath&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&w&/span&&span class=&p&&,&/span& &span class=&n&&h&/span& &span class=&o&&=&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&size&/span&
&span class=&n&&tokenX&/span&&span class=&p&&,&/span& &span class=&n&&tokenY&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&
&span class=&n&&tokenXs&/span& &span class=&o&&=&/span& &span class=&p&&[]&/span&
&span class=&n&&boardX&/span&&span class=&p&&,&/span& &span class=&n&&boardY&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&
&span class=&n&&boardWidth&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&n&&widthCnt&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&n&&DIFF_THERESHOLD&/span& &span class=&o&&=&/span& &span class=&mi&&10&/span&
&span class=&c1&&# 寻找小人&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&h&/span&&span class=&p&&):&/span&
&span class=&k&&if&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&n&&h&/span&&span class=&o&&/&/span&&span class=&mi&&3&/span&&span class=&p&&:&/span&
&span class=&k&&continue&/span&
&span class=&n&&tokenL&/span&&span class=&p&&,&/span& &span class=&n&&tokenR&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&
&span class=&c1&&# 左边界&/span&
&span class=&k&&for&/span& &span class=&n&&j&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&w&/span&&span class=&p&&):&/span&
&span class=&n&&p&/span& &span class=&o&&=&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&getpixel&/span&&span class=&p&&((&/span&&span class=&n&&j&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&))&/span&
&span class=&k&&if&/span& &span class=&n&&isToken&/span&&span class=&p&&(&/span&&span class=&n&&p&/span&&span class=&p&&):&/span&
&span class=&c1&&#
showPixel(j, i)&/span&
&span class=&n&&tokenL&/span& &span class=&o&&=&/span& &span class=&n&&j&/span&
&span class=&n&&tokenY&/span& &span class=&o&&=&/span& &span class=&n&&i&/span&
&span class=&k&&break&/span&
&span class=&c1&&# 右边界&/span&
&span class=&k&&if&/span& &span class=&n&&tokenL&/span&&span class=&p&&:&/span&
&span class=&k&&for&/span& &span class=&n&&k&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&w&/span&&span class=&p&&):&/span&
&span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&n&&w&/span& &span class=&o&&-&/span& &span class=&n&&k&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&
&span class=&k&&if&/span& &span class=&n&&j&/span& &span class=&o&&&&/span& &span class=&n&&tokenL&/span&&span class=&p&&:&/span&
&span class=&k&&break&/span&
&span class=&n&&p&/span& &span class=&o&&=&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&getpixel&/span&&span class=&p&&((&/span&&span class=&n&&j&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&))&/span&
&span class=&k&&if&/span& &span class=&n&&isToken&/span&&span class=&p&&(&/span&&span class=&n&&p&/span&&span class=&p&&):&/span&
&span class=&c1&&#
showPixel(j, i)&/span&
&span class=&n&&tokenR&/span& &span class=&o&&=&/span& &span class=&n&&j&/span&
&span class=&k&&break&/span&
&span class=&c1&&# 中心点&/span&
&span class=&k&&if&/span& &span class=&n&&tokenR&/span&&span class=&p&&:&/span&
&span class=&n&&tokenXs&/span&&span class=&o&&.&/span&&span class=&n&&append&/span&&span class=&p&&((&/span&&span class=&n&&tokenL&/span& &span class=&o&&+&/span& &span class=&n&&tokenR&/span&&span class=&p&&)&/span&&span class=&o&&/&/span&&span class=&mi&&2&/span&&span class=&p&&)&/span&
&span class=&c1&&# 微调, 定位 token 的底座中心点&/span&
&span class=&n&&tokenX&/span& &span class=&o&&=&/span& &span class=&nb&&sum&/span&&span class=&p&&(&/span&&span class=&n&&tokenXs&/span&&span class=&p&&)&/span&&span class=&o&&/&/span&&span class=&nb&&len&/span&&span class=&p&&(&/span&&span class=&n&&tokenXs&/span&&span class=&p&&)&/span& &span class=&o&&+&/span& &span class=&mi&&5&/span&
&span class=&n&&tokenY&/span& &span class=&o&&=&/span& &span class=&n&&tokenY&/span& &span class=&o&&-&/span& &span class=&mi&&15&/span&
&span class=&n&&showPixel&/span&&span class=&p&&(&/span&&span class=&nb&&int&/span&&span class=&p&&(&/span&&span class=&n&&tokenX&/span&&span class=&p&&),&/span& &span class=&n&&tokenY&/span&&span class=&p&&)&/span&
&span class=&c1&&# 寻找跳板&/span&
&span class=&n&&lastL&/span&&span class=&p&&,&/span& &span class=&n&&lastR&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&
&span class=&k&&for&/span& &span class=&n&&i&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&h&/span&&span class=&p&&):&/span&
&span class=&k&&if&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&n&&h&/span&&span class=&o&&/&/span&&span class=&mi&&3&/span&&span class=&p&&:&/span&
&span class=&k&&continue&/span&
&span class=&n&&boardL&/span&&span class=&p&&,&/span& &span class=&n&&boardR&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&mi&&0&/span&
&span class=&n&&base&/span& &span class=&o&&=&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&getpixel&/span&&span class=&p&&((&/span&&span class=&mi&&0&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&))&/span&
&span class=&c1&&# 左边界&/span&
&span class=&k&&for&/span& &span class=&n&&j&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&w&/span&&span class=&p&&):&/span&
&span class=&c1&&# 跳过小人周围像素&/span&
&span class=&k&&if&/span& &span class=&nb&&abs&/span&&span class=&p&&(&/span&&span class=&n&&j&/span& &span class=&o&&-&/span& &span class=&n&&tokenX&/span&&span class=&p&&)&/span& &span class=&o&&&&/span& &span class=&mi&&45&/span&&span class=&p&&:&/span&
&span class=&k&&continue&/span&
&span class=&n&&p&/span& &span class=&o&&=&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&getpixel&/span&&span class=&p&&((&/span&&span class=&n&&j&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&))&/span&
&span class=&n&&diff&/span& &span class=&o&&=&/span& &span class=&n&&colorDiff&/span&&span class=&p&&(&/span&&span class=&n&&p&/span&&span class=&p&&,&/span& &span class=&n&&base&/span&&span class=&p&&)&/span&
&span class=&k&&if&/span& &span class=&n&&diff&/span& &span class=&o&&&&/span& &span class=&n&&DIFF_THERESHOLD&/span&&span class=&p&&:&/span&
&span class=&n&&showPixel&/span&&span class=&p&&(&/span&&span class=&n&&j&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&)&/span&
&span class=&n&&boardL&/span& &span class=&o&&=&/span& &span class=&n&&j&/span&
&span class=&k&&break&/span&
&span class=&c1&&#右边界&/span&
&span class=&k&&if&/span& &span class=&n&&boardL&/span&&span class=&p&&:&/span&
&span class=&k&&for&/span& &span class=&n&&k&/span& &span class=&ow&&in&/span& &span class=&nb&&range&/span&&span class=&p&&(&/span&&span class=&n&&w&/span&&span class=&p&&):&/span&
&span class=&n&&j&/span& &span class=&o&&=&/span& &span class=&n&&w&/span& &span class=&o&&-&/span& &span class=&n&&k&/span& &span class=&o&&-&/span& &span class=&mi&&1&/span&
&span class=&c1&&# 跳过小人周围像素&/span&
&span class=&k&&if&/span& &span class=&nb&&abs&/span&&span class=&p&&(&/span&&span class=&n&&j&/span& &span class=&o&&-&/span& &span class=&n&&tokenX&/span&&span class=&p&&)&/span& &span class=&o&&&&/span& &span class=&mi&&45&/span&&span class=&p&&:&/span&
&span class=&k&&continue&/span&
&span class=&k&&if&/span& &span class=&n&&j&/span& &span class=&o&&&&/span& &span class=&n&&boardL&/span&&span class=&p&&:&/span&
&span class=&k&&break&/span&
&span class=&n&&p&/span& &span class=&o&&=&/span& &span class=&n&&img&/span&&span class=&o&&.&/span&&span class=&n&&getpixel&/span&&span class=&p&&((&/span&&span class=&n&&j&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&))&/span&
&span class=&n&&diff&/span& &span class=&o&&=&/span& &span class=&n&&colorDiff&/span&&span class=&p&&(&/span&&span class=&n&&p&/span&&span class=&p&&,&/span& &span class=&n&&base&/span&&span class=&p&&)&/span&
&span class=&k&&if&/span& &span class=&n&&diff&/span& &span class=&o&&&&/span& &span class=&n&&DIFF_THERESHOLD&/span&&span class=&p&&:&/span&
&span class=&n&&showPixel&/span&&span class=&p&&(&/span&&span class=&n&&j&/span&&span class=&p&&,&/span& &span class=&n&&i&/span&&span class=&p&&)&/span&
&span class=&n&&boardR&/span& &span class=&o&&=&/span& &span class=&n&&j&/span&
&span class=&k&&break&/span&
&span class=&k&&if&/span& &span class=&n&&boardR&/span&&span class=&p&&:&/span&
&span class=&k&&if&/span& &span class=&ow&&not&/span& &span class=&n&&boardX&/span&&span class=&p&&:&/span&
&span class=&n&&boardX&/span& &span class=&o&&=&/span& &span class=&p&&(&/span&&span class=&n&&boardR&/span& &span class=&o&&+&/span& &span class=&n&&boardL&/span&&span class=&p&&)&/span&&span class=&o&&/&/span&&span class=&mi&&2&/span&
&span class=&n&&width&/span& &span class=&o&&=&/span& &span class=&n&&boardR&/span& &span class=&o&&-&/span& &span class=&n&&boardL&/span& &span class=&o&&+&/span& &span class=&mi&&1&/span&
&span class=&k&&if&/span& &span class=&n&&width&/span& &span class=&o&&&&/span& &span class=&n&&boardWidth&/span&&span class=&p&&:&/span&
&span class=&n&&boardWidth&/span& &span class=&o&&=&/span& &span class=&n&&width&/span&
&span class=&n&&widthCnt&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&
&span class=&k&&else&/span&&span class=&p&&:&/span&
&span class=&n&&boardY&/span& &span class=&o&&=&/span& &span class=&n&&i&/span&
&span class=&c1&&# 这里连续寻找多次边界,防止圆形跳台的局部宽度稳定&/span&
&span class=&n&&widthCnt&/span& &span class=&o&&+=&/span& &span class=&mi&&1&/span&
&span class=&k&&if&/span& &span class=&n&&widthCnt&/span& &span class=&o&&==&/span& &span class=&mi&&15&/span&&span class=&p&&:&/span&
&span class=&k&&break&/span&
&span class=&c1&&# 减去多次边界寻找产生的溢出量&/span&
&span class=&n&&boardY&/span& &span class=&o&&=&/span& &span class=&n&&boardY&/span& &span class=&o&&-&/span& &span class=&mi&&15&/span&
&span class=&n&&showPixel&/span&&span class=&p&&(&/span&&span class=&nb&&int&/span&&span class=&p&&(&/span&&span class=&n&&boardX&/span&&span class=&p&&),&/span& &span class=&n&&boardY&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&&br&&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span&&/span&&span class=&n&&img&/span&
&/code&&/pre&&/div&&figure&&img src=&https://pic4.zhimg.com/v2-fe5cb76c4a6cab59eb20b69_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&1920& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic4.zhimg.com/v2-fe5cb76c4a6cab59eb20b69_r.jpg&&&/figure&&p&我们识别出了小人、跳台的中心点&/p&&p&接下来可以在 PC 端使用 adb 工具来连接手机自动玩游戏啦(仅限安卓),写个脚本循环执行下列步骤&/p&&p&1.adb shell screencap -p /sdcard/screen.png // 进行截图&/p&&p&2.adb pull /sdcard/screen.png . // 将截图拉取到本地&/p&&p&3.使用本文算法计算出 (tokenX, tokenY) 与 (boardX, boardY) 的距离 d&/p&&p&4.使用距离 d 乘以一个常数算得按压时间 t(ms)&/p&&p&5.adb shell input swipe x y x y t(ms) // 模拟按压输入, x y 只要为有效屏幕坐标即可&/p&&p&&br&&/p&&p&bonus:1080p 屏幕,参数 1.383 比较准哦&/p&&p&&br&&/p&&p&TODO:&/p&&p&-处理非对称跳台情况&/p&&p&-处理小人遮挡了下一个跳台的情况&/p&&figure&&img src=&https://pic1.zhimg.com/v2-1ce5e11cb54ab9709793_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&1920& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-1ce5e11cb54ab9709793_r.jpg&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-149a21f14a30fa9f67db_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&1920& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-149a21f14a30fa9f67db_r.jpg&&&/figure&&p&&/p&
最近“跳一跳”的游戏风靡朋友圈,我司CTO
默默跳出了8000+分,在“正常人玩到这个分段是有多无聊”的一(feng)片(kuang)群(ji)嘲(du)中,CTO童鞋甩出算法链接,光速打脸并终结了对话:感兴趣的童鞋可在K - Lab在线数据…
&figure&&img src=&https://pic1.zhimg.com/v2-5db74c3ceee25_b.jpg& data-rawwidth=&2592& data-rawheight=&1936& class=&origin_image zh-lightbox-thumb& width=&2592& data-original=&https://pic1.zhimg.com/v2-5db74c3ceee25_r.jpg&&&/figure&&p&算法部分参考了 &a class=&member_mention& href=&https://www.zhihu.com/people/8f78ada5cade7b1df8e08& data-hash=&8f78ada5cade7b1df8e08& data-hovercard=&p$b$8f78ada5cade7b1df8e08&&@神奇的战士&/a& &a class=&member_mention& href=&https://www.zhihu.com/people/7edf592f7bdd17ddd73870& data-hash=&7edf592f7bdd17ddd73870& data-hovercard=&p$b$7edf592f7bdd17ddd73870&&@皮皮哇&/a& &/p&&p&先上视频&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/341760& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic3.zhimg.com/80/v2-3bf546dd9cd61b9318ed9a_b.jpg& data-lens-id=&341760&&
&img class=&thumbnail& src=&https://pic3.zhimg.com/80/v2-3bf546dd9cd61b9318ed9a_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/341760&/span&
&p&&br&&/p&&p&实时的目标识别结果&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/500032& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic2.zhimg.com/80/v2-e8c52fc5bef25d424ec572ac4f0ac021_b.jpg& data-lens-id=&500032&&
&img class=&thumbnail& src=&https://pic2.zhimg.com/80/v2-e8c52fc5bef25d424ec572ac4f0ac021_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/500032&/span&
&p&&br&&/p&&h2&背景&/h2&&p&开始玩“跳一跳”正巧是在元旦去滑雪的车上,当时依靠点头抬头的肢体暗示而达到人棋和一境界的我一举拿下近200的高分,登顶朋友圈榜首。只是万万没想到打个盹起来就被超过了,在屡次尝试超越失败后便萌生了邪(kai)恶(gua)的念头。&/p&&p&然后滑完雪回来发现各路大神已然刷到几十万分了,好在我朋友圈里程序员朋友还不多 ,现在装x还来得及。为了最大限度防止被检测为作弊,自己做个纯物理的实现是最保险的,于是选用了摄像头加执行器的方案。&/p&&p&&br&&/p&&h2&系统架构&/h2&&ul&&li&Mac(Python + openCV) - 主程序运行及实时可视化&/li&&li&Logitech USB Camera - 图像采集&/li&&li&Raspberry Pi 树莓派 (Python)- 执行指令接收与舵机控制&/li&&li&9g小舵机 - 执行器,与树莓派分离5V供电,只共地线,防止树莓派电压不稳&/li&&li&吃猪蹄饭送的触控笔 - 电容屏触发 &/li&&/ul&&figure&&img src=&https://pic3.zhimg.com/v2-905fc82fa0c49dde19d4f63_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2592& data-rawheight=&1936& class=&origin_image zh-lightbox-thumb& width=&2592& data-original=&https://pic3.zhimg.com/v2-905fc82fa0c49dde19d4f63_r.jpg&&&/figure&&h2&实现逻辑&/h2&&ol&&li&棋子与目标方块识别,并计算像素距离&/li&&li&给定个初始的时间距离系数,舵机的转动延时这两个待调参数计算舵机实际执行时间&/li&&li&将执行时间通过局域网发送给树莓派执行&/li&&li&根据执行的结果手动调整时间距离系数,和舵机转动延时参数&/li&&/ol&&h2&目标识别算法&/h2&&p&图像的目标识别上基本上采用了以下两位大神的算法,他们的文章和代码库中已经解释的很清楚了,用摄像头采集的话要在噪声处理,手机屏幕边缘探测上多调试一下,目标寻找的算法基本上没有区别。&/p&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-2deaee3fde085bc4c517bef12b60.jpg& data-image-width=&500& data-image-height=&285& class=&internal&&神奇的战士:教你用Python来玩微信跳一跳&/a&&a href=&https://zhuanlan.zhihu.com/p/& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic1.zhimg.com/v2-b5613a4cce83e2ax120.jpg& data-image-width=&1794& data-image-height=&948& class=&internal&&皮皮哇:Python玩“跳一跳” iOS+Win 硬件实现&/a&&p&其中&/p&&ul&&li&棋子识别:openCV - Template Match,截取棋子截图做模版匹配&/li&&li&平台识别:
openCV 做边缘提取,然后逐行找目标平台最头上的角点,再逐行往下扫,边缘会逐渐扩张,当边缘不再扩张认为找到了平台中心点过的那一行。结合角点位置确定中心点位置&/li&&li&加分方块识别(便利店,留声机,井盖):想到的一种比较简单粗暴的方法是提取待跳目标点周围颜色的HSV方差,大于一定值认为大概率是加分的方块,但此法必须排除连跳产生的白点提示才行。&/li&&/ul&&h2&其他&/h2&&ul&&li&知乎发的第一篇文章,就是可惜蹭热度有些晚了,不过至少是养成给Side Project做个小总结的习惯吧。&/li&&li&用Python快速实现原型真是方便啊&/li&&li&昨晚刷到1200,早上被清零了,物理gua也照封啊 &/li&&/ul&
算法部分参考了
先上视频 实时的目标识别结果 背景开始玩“跳一跳”正巧是在元旦去滑雪的车上,当时依靠点头抬头的肢体暗示而达到人棋和一境界的我一举拿下近200的高分,登顶朋友圈榜首。只是万万没想到打个盹起来就被超过了,在屡次尝…
&figure&&img src=&https://pic1.zhimg.com/v2-556be7b1a0a1a60b2046e_b.jpg& data-rawwidth=&660& data-rawheight=&200& class=&origin_image zh-lightbox-thumb& width=&660& data-original=&https://pic1.zhimg.com/v2-556be7b1a0a1a60b2046e_r.jpg&&&/figure&&p&现在越来越多朋友喜欢玩网络对战&a href=&https://link.zhihu.com/?target=http%3A//dl.pconline.com.cn/sort/126.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&游戏&/a&,无论是之前大红大会的《英雄联盟》,还是现在如日中天的《绝地求生:大逃杀》,都令人体会到了与人斗其乐无穷的趣味。但玩这类游戏最恼人的,可能就是外挂了。大家玩得好好的,突然来了个飞天遁地的神仙,转眼间就把其他人给秒了,根本不能好好玩耍。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e67df15a1ce4e3d314faa5_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&547& data-rawheight=&229& class=&origin_image zh-lightbox-thumb& width=&547& data-original=&https://pic2.zhimg.com/v2-e67df15a1ce4e3d314faa5_r.jpg&&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-dc8e97eecce008d724b870_b.jpg& data-size=&normal& data-rawwidth=&443& data-rawheight=&185& data-thumbnail=&https://pic2.zhimg.com/v2-dc8e97eecce008d724b870_b.jpg& class=&origin_image zh-lightbox-thumb& width=&443& data-original=&https://pic2.zhimg.com/v2-dc8e97eecce008d724b870_r.gif&&&figcaption&《绝地求生》中最新的海贼王外挂,令人啼笑皆非&/figcaption&&/figure&&p&一般来说,外挂是使用软件的方式来实现的。例如,外挂软件可以破解游戏的网络传输数据,破解了协议后甚至不需要开启游戏本身就能开挂;又例如,外挂通过注入内存、劫持&a href=&https://link.zhihu.com/?target=http%3A//product.pconline.com.cn/mouse/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&鼠标&/a&运行轨迹、自动脚本等方法来修改游戏。软件开挂破坏力巨大,不过所幸的是,软件开挂往往有迹可循,大多数网络对战游戏对外挂检测还是很严格的,例如最近外挂泛滥的《绝地求生:大逃杀》就封了数十万的开挂帐号,开挂开得了一时,很难开一世。&/p&&p&不过除了普通的软件外挂,还有一种更加隐秘的“开挂”,那就是利用硬件的“物理开挂”。和软件开挂相比,用硬件在游戏中占尽优势,更加令人防不胜防。那么到底有哪些经典的“物理开挂”方法?一起来看看吧。&/p&&p&&b&屏幕贴准星盲狙&/b&&/p&&p&如果你玩CS会盲狙,基本上你就是个不折不扣的高手了。但如果借助一些盘外招,盲狙也并不是那么高不可攀——例如在显示器贴个准星,就算你不开镜,也是可以狙人的。&/p&&p&比较复古的贴准星方法很粗暴简单,开镜后,按照准星在显示器贴纸即可。不过现在的硬件厂商早已经为你提供了更便利的方法,一些电竞显示器本身就自带准星图层,从显示器的菜单就能够开启。不仅如此,这个图层还可以更换样式、变换位置,保证你在不同的游戏都能够实现盲狙。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-94bd66069cbbe_b.jpg& data-size=&normal& data-rawwidth=&600& data-rawheight=&311& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-94bd66069cbbe_r.jpg&&&figcaption&某些显示器甚至自带准星图层,这“物理外挂”可没法检测&/figcaption&&/figure&&figure&&img src=&https://pic2.zhimg.com/v2-c5fea9a43f70df_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&295& data-rawheight=&524& class=&content_image& width=&295&&&/figure&&figure&&img src=&https://pic1.zhimg.com/v2-b790fbd7b00b5af846af35_b.jpg& data-size=&normal& data-rawwidth=&295& data-rawheight=&524& class=&content_image& width=&295&&&figcaption&手机上也有类似的准星工具&/figcaption&&/figure&&p&类似的方法也出现在了手机平台上。在安卓中,系统允许App申请悬浮窗权限,于是有的辅助App就可以利用悬浮窗API来在屏幕上贴一个准星标记。虽然这也是软件实现的,但并没有对游戏本身进行修改,所以也可以看作是“物理开挂”。面对这种物理开挂,基本上是束手无策,以前在网吧被发现这样做,恐怕会有血光之灾。&/p&&p&&b&特殊分辨率屏幕开视野&/b&&/p&&p&对于RTS和MOBA游戏来说,视野的重要性毋庸置疑。视野更远的话,很轻松就可以在其他玩家的视野盲区中发招,令人惊呼竟还能有这种操作。如果利用了高分辨率特别是特殊比例的屏幕,显示更多视野就成为了可能。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-f78defcbe64e7_b.jpg& data-size=&normal& data-rawwidth=&580& data-rawheight=&386& class=&origin_image zh-lightbox-thumb& width=&580& data-original=&https://pic3.zhimg.com/v2-f78defcbe64e7_r.jpg&&&figcaption&全面屏之类的特殊分辨率在视野上有得天独厚的优势&/figcaption&&/figure&&p&在一些MOBA游戏中,特殊分辨率的确是可以开启更多视野的。现在使用了全面屏的手机例如三星Galaxy S8、iPhone X等等,就可以在《王者荣耀》中看到更大面积的地图。当然,游戏本身也会尝试对这现象进行规避,例如在iPhone X的《王者荣耀》两边显示黑色渐变。但无论如何,特殊分辨率依然有一定的视野优势。&/p&&p&&b&外接手柄秀操作&/b&&/p&&p&对于手游来说,体验上最大的短板,或许就是重度依赖于触摸屏的操作了。因此,如果你的手机外接了游戏手柄这类特殊硬件,那就会在操作上取得无可比拟的优势。这种外接硬件无疑也属于“物理外挂”,但却并没有成为对战游戏的禁手。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5bace451f1f1adc84aff2_b.jpg& data-size=&normal& data-rawwidth=&600& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-5bace451f1f1adc84aff2_r.jpg&&&figcaption&一些对操作要求高的手游,手柄之类的外接设备无疑是“物理外挂”&/figcaption&&/figure&&p&如果手机游戏利用PC上的模拟器来运行,那“物理开挂”就更加厉害了。除了可以外接性能更强悍的外设,例如高级的手柄、鼠标键盘,还能够随心所欲地改变分辨率。利用PC的安卓模拟器,很轻松就可以让你获得远胜于手机小屏幕的视野,在对战中占尽先机。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-860d0ad4c560ab152090_b.jpg& data-size=&normal& data-rawwidth=&600& data-rawheight=&383& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic2.zhimg.com/v2-860d0ad4c560ab152090_r.jpg&&&figcaption&在PC上用模拟器玩手游,等于用电脑来操作手游,也算是“物理外挂”&/figcaption&&/figure&&p&&b&令人惊呼不可战胜的特殊硬件&/b&&/p&&p&一般来说,开挂都是电脑、手机上的事,&a href=&https://link.zhihu.com/?target=http%3A//product.pconline.com.cn/game/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&游戏机&/a&上基本没什么开挂现象。但是,游戏机是不是就完全和外挂绝缘?也并非如此,起码令人高呼不可战胜的“物理外挂”还是存在的。&/p&&p&例如在游戏机上玩音游,就有高手开发出了逆天的自动演奏装置,用机械来代替手指搓按键,无论是精确度还是速度,都远胜于绝大部分玩家。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-d1a5f34123b_b.jpg& data-size=&normal& data-rawwidth=&411& data-rawheight=&241& data-thumbnail=&https://pic3.zhimg.com/v2-d1a5f34123b_b.jpg& class=&content_image& width=&411&&&figcaption&高玩开发的音游自动操作机(图片来自网络)&/figcaption&&/figure&&p&实际上类似的特殊硬件不仅在游戏机上有出现,很多平台的音游都有高手&a href=&https://link.zhihu.com/?target=http%3A//star.pclady.com.cn/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&达人&/a&尝试用机械来自动玩游戏。例如&a href=&https://link.zhihu.com/?target=http%3A//pcedu.pconline.com.cn/ios/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&iOS&/a&上就有一位LoveLive玩家“凛太朗”开发出了超强的“物理外挂”,自动演奏曲目分分钟达到“完美”评级,就问你怕不怕。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-cf81f9d65ac205f7cb7420c_b.jpg& data-size=&normal& data-rawwidth=&600& data-rawheight=&356& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&https://pic3.zhimg.com/v2-cf81f9d65ac205f7cb7420c_r.jpg&&&figcaption&用“物理外挂”玩手机上的音游(图片来自网络)&/figcaption&&/figure&&p&&b&总结&/b&&/p&&p&和软件外挂相比,一些“物理外挂”虽然也会造成不公平,但性质远没有这么恶劣。在很多情况下,“物理外挂”甚至是避无可避的,例如买了全面屏手机就是能显示更多视野,这玩家自己也改变不了。当然,像屏幕准星这种,性质就和软件开挂作弊无异了。你还遇到过或者听说过哪些有趣的“物理外挂”呢?欢迎在评论区讨论分享!&/p&&p&&/p&
现在越来越多朋友喜欢玩网络对战,无论是之前大红大会的《英雄联盟》,还是现在如日中天的《绝地求生:大逃杀》,都令人体会到了与人斗其乐无穷的趣味。但玩这类游戏最恼人的,可能就是外挂了。大家玩得好好的,突然来了个飞天遁地的神仙,转眼间就把其…
&figure&&img src=&https://pic1.zhimg.com/v2-61b7af79f9849517def102effa662fe7_b.jpg& data-rawwidth=&560& data-rawheight=&305& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&https://pic1.zhimg.com/v2-61b7af79f9849517def102effa662fe7_r.jpg&&&/figure&&p&&b&我没有想到有那么多同学问我如何导入项目。主要的问题在于:&/b&&/p&&ul&&li&如何导入项目?&/li&&li&为什么不上传wechat_jump_hack.iml文件?&/li&&/ul&&p&&a href=&http://link.zhihu.com/?target=https%3A//github.com/burningcl/wechat_jump_hack/blob/master/IMPORT.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&点击此处,查看详细教程&/a&&/p&&h2&优化&/h2&&p&根据同学们的反馈,我今天午休时,抽了20分钟,优化了一下算法。&/p&&p&1.提高瓶子的识别率。&/p&&p&由于瓶子的颜色比较接近,新实现了一种算法用于瓶子的瓶盖的识别。效果如下:&/p&&figure&&img src=&http://pic1.zhimg.com/v2-b5b6975cf05dfc67ac38_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&560& data-rawheight=&996& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&http://pic1.zhimg.com/v2-b5b6975cf05dfc67ac38_r.jpg&&&/figure&&p&&br&&/p&&p&2. 提高出现特殊盒子时,下步的计算。&/p&&p&特殊盒子,例如留声机,他的动效时间很长,而且很大,对下一步的识别产生干扰。因此,改进了一下算法,减少干扰的影响。效果如下:&/p&&figure&&img src=&http://pic3.zhimg.com/v2-b97cdc9a203b105ae15fe2_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&560& data-rawheight=&996& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&http://pic3.zhimg.com/v2-b97cdc9a203b105ae15fe2_r.jpg&&&/figure&&p&&br&&/p&&p&3. 新增加了HackTest.java文件。&/p&&p&大家在运行Hack.java后,会在&code&wechat_jump_hack/out/production/wechat_jump_hack/imgs/input/&/code&目录下存放截图文件。运行Hack.java结束后,再运行HackTest.java,会在&code&wechat_jump_hack/out/production/wechat_jump_hack/imgs/output/&/code&下生成input目录中的截图的位置标记。&/p&&figure&&img src=&http://pic1.zhimg.com/v2-fa98c48d5828528bfe52a9d615a10794_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1394& data-rawheight=&782& class=&origin_image zh-lightbox-thumb& width=&1394& data-original=&http://pic1.zhimg.com/v2-fa98c48d5828528bfe52a9d615a10794_r.jpg&&&/figure&&p&&br&&/p&&ul&&ul&&li&红点表示玩家位置;&/li&&li&绿点表示下一个盒子的边界点;&/li&&li&蓝点表示下一个盒子的中心点;&/li&&/ul&&/ul&&p&如果觉得跳得不准的同学,请运行HackTest.java文件,观察标记的位置是否准确。如果准确的话,请自行调整弹跳系数。笔者无法做到我所用的弹跳系数适用于所有的设备。&/p&&p&4. 添加对命中中心点的统计&/p&&p&&code&screenshot, file: /Users/chenliang/SkylineProjects/wechat_jump_hack_1/out/production/wechat_jump_hack_1/imgs/input/1092.png&br&438, 364&br&pos, x: 404, y: 1104&br&find myPos, succ, (404, 1104)&br&191, 217, 194&br&232, 258, 266&br&top, x: 732, y: 803&br&true&br&left, x: 599, y: 880&br&right, x: 868, y: 880&br&whitePoint: 752, 715, 887, 866&br&find whitePoint, succ, (733, 876), centerHit: 901, total: 1093&br&find nextCenter, succ, (733, 876)&br&distance: 554&br&/Users/chenliang/Library/Android/sdk/platform-tools/adb shell input swipe 400 400 400 400 554&br&&/code& &/p&&p&根据我的运行结果,命中中心点的概率,大约为82%~85%。因为微信也在改进,命中中心点的难度也在提高 。&/p&&h2&一. 效果展示&/h2&&p&程序控制小人自动跳,几乎每次命中中心点。&/p&&p&为了更好的展示运行效果,我贴一个刚刚录制的视频。&a href=&http://link.zhihu.com/?target=http%3A//v.youku.com/v_show/id_XMzI4NzM4MzI0NA%3D%3D.html%3Fspm%3Da2h0k..0%26from%3Ds1.8-1-1.2& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&http://v.youku.com/v_show/id_XMzI4NzM4MzI0NA==.html?spm=a2h0k..0&from=s1.8-1-1.2&/a&&/p&&p&如果你的运行效果,不像这个视频中所示,请一定要认真阅读“温馨提示”这个章节。&/p&&p&欢迎大家与我交流意见。附上 GitHub 地址 &a href=&http://link.zhihu.com/?target=https%3A//github.com/burningcl/wechat_jump_hack/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&burningcl/wechat_jump_hack&/a& &/p&&p&破解过程,总共花了3个小时,不断地调整算法与参数,因此代码比较乱,还请见谅。&/p&&p&&br&&/p&&p&&b&喜欢这个程序的同学,求在GitHub上加star。&/b&&/p&&p&&br&&/p&&figure&&img src=&http://pic3.zhimg.com/v2-c6a17d0efd201ea3f95a6_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&560& data-rawheight=&996& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&http://pic3.zhimg.com/v2-c6a17d0efd201ea3f95a6_r.jpg&&&/figure&&figure&&img src=&http://pic3.zhimg.com/v2-abbe3e2687e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&560& data-rawheight=&996& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&http://pic3.zhimg.com/v2-abbe3e2687e_r.jpg&&&/figure&&p&&br&&/p&&h2&二. 实现原理&/h2&&p&具体识别的算法,我现在没有时间总结了,大家可以先看源码。源码中部分参数是在笔者的手机上进行调试的(分辨率为1080),大家可以根据自己手机,进行相应修改。&/p&&h2&主要步骤&/h2&&ol&&li&识别玩家位置&/li&&/ol&&p&如下图中白色空心方格所示:&/p&&figure&&img src=&http://pic4.zhimg.com/v2-eb0bd18a4c_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&560& data-rawheight=&996& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&http://pic4.zhimg.com/v2-eb0bd18a4c_r.jpg&&&/figure&&p&&br&&/p&&ol&&li&识别目标方块位置&/li&&/ol&&p&如下图中红色实心方格所示,识别最上面的顶点,最左边的点,与最右边的点,从而计算出中心点:&/p&&figure&&img src=&http://pic4.zhimg.com/v2-bddfd171bc0bdb_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&560& data-rawheight=&996& class=&origin_image zh-lightbox-thumb& width=&560& data-original=&http://pic4.zhimg.com/v2-bddfd171bc0bdb_r.jpg&&&/figure&&p&&br&&/p&&ol&&li&识别目标方块中心圆点的位置&/li&&/ol&&p&如果你前一次踩中中心点,会有下一个中心点的提示(一个白色的圆点)。&/p&&h2&流程&/h2&&ol&&li&通过ADB截屏;&/li&&li&通过ADB将截屏保存到电脑;&/li&&li&识别玩家位置;&/li&&li&识别目标方块位置;&/li&&li&识别目标方块中心圆点的位置;&/li&&li&如果第5步成功,则取第5步的中心点为下一步的位置;否则,取第4步的中心点为下一步的位置;&/li&&li&计算玩家位置与下一步的位置,乘以一定的系数,得到长按的时间;&/li&&li&通过ADB,触发长按;&/li&&/ol&&h2&三. 运行教程&/h2&&ol&&li&准备Java运行与编译环境,使用Java8以上,IDE推荐使用Intellij;&/li&&li&安装Android SDK;&/li&&li&使用 git工具clone项目,地址为&a href=&http://link.zhihu.com/?target=https%3A//github.com/burningcl/wechat_jump_hack& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/burningcl/we&/span&&span class=&invisible&&chat_jump_hack&/span&&span class=&ellipsis&&&/span&&/a&;&/li&&li&使用IDE(笔者使用Intellij)import该项目;&/li&&li&准备好一部已经打开开发者模式的Android手机;&/li&&li&请确认是否adb已经联接上你的手机;如果adb连接失败,则会导致截图与拉取截图失败,提示“find myPos, fail”;如果连着多个Android设备的话,最好关到只有一个;&/li&&li&打开开发者选项,找到“USB调试(安全设置)允许通过USB调试修改权限或者模拟点击”(在mui上是这样的,在其他手机上,应该也是差不多这样)这个开关,打开它;如果这个权限没有授予,则不能正常触发弹跳;&/li&&li&修改com.skyline.wxjumphack.Hack中ADB_PATH,将其改为你自己的ADB位置;&/li&&li&打开微信,打开跳一跳游戏,并点击开始;&/li&&li&运行程序(Hack.java中的main方法)吧,骚年,观察它自动跳动;&/li&&/ol&&h2&

我要回帖

更多关于 369游戏盒下载 的文章

 

随机推荐