当前位置: 首页 > 科技观察

看完了程序员玩手游的方式,我们去玩玩吧~

时间:2023-03-21 13:21:06 科技观察

自从前几天微信***6.6.1版本更新后,微信小程序游戏“跳转”似乎开始火爆了朋友圈一夜之间。比五六年前的飞机对战游戏还要火爆。这款小游戏的火爆不仅仅是因为它神奇有趣,更重要的是它可以用来和朋友PK!“跳”游戏上线后,不少准备打拼的同学,这个假期的美好愿景就这么泡汤了。为了多跳几步刷朋友圈排名,整个假期大家都是这样的:跳啊跳啊……挤地铁跳,蹲马桶跳,坐电梯跳,沉默的每一秒都不能'不要浪费在办公室里,时刻注意后背……好工作呢……我控制不住自己了!但是很多人拼命跳了一下午也没有超过100分,但是排行榜上却有四分之三的人超过了三位数,真是让人心碎……今天就来告诉大家如何获得高分又如何占据朋友圈榜首?获得高分的游戏攻略各挑中间可得+2分,跳到中间可得+4、+6、+8、+10……跳上污水井盖,停留2秒,等到下水道的声音响起,直接+5跳到魔方,停留2秒,等魔方转正,直接跳到音乐盒+10点,停留2秒,等音乐响起,直接跳转到便利店+30点,停留2秒,等便利店开门直接+15点以上,普通用户,太低了我们程序员就用这套。接下来要说的是如何从技术层面上获得高分:Github上通过Python实现高分的技术手段已经有人用Python玩过跳跳的游戏了,你拿多少分就拿多少分想。GitHub地址:https://github.com/wangshub/wechat_jump_game步骤:安卓手机开启USB调试,进入设置>开发者选项>USB调试。用USB线连接电脑和手机,执行adbdevices保证可以查到设备id。界面转为微信跳转游戏,点击开始游戏。运行pythonwechat_junp_auto.py,如果手机界面显示USB授权,请点击确定。这很有趣!简单来说:用电脑帮你玩微信跳转,全自动,无需手动。这里稍微完整一点的操作步骤,以Mac为例,Win的思路是一样的。另外,这里用的是安卓手机,iOS类似,但是需要下载一个5.5GB的Xcode。1.要下载程序,请打开下面的链接,单击右侧的克隆或下载,然后单击下载zip。2、解压zip文件,将文件夹移动到桌面,打开文件夹,会看到很多东西:3、打开mac系统自带的“终端”。这是一个命令行应用程序。你可以使用cmd来赢好吧。4.通过终端进入文件夹,命令行如下:~/Decktop/wechat_jump_game-master5.安装pip,在终端输入sudoeasy_installpip回车,可能需要输入密码。6、安装各种依赖程序,在终端输入pipinstall-rrequirements.txt回车,系统会自动安装。requirements.txt是文件夹中的一个txt文件,描述了哪些程序会被自动安装。pip是第5步安装的程序,如果没有安装,则不会执行pipinstall-rrequirements.txt。7.安装adb,打开下面链接查看,有3种方法,推荐使用第二种方法,也就是英文的,不懂英文的可以百度中文教程。https://stackoverflow.com/questions/31374085/installing-adb-on-mac-os-x8,打开安卓手机的设置-开发者选项-USB调试(如果没有开发者选项,百度可以打开开发者选项方法),用USB线连接手机和电脑,手机端可能会弹出对话框,点击同意。如果运行脚本后小人不跳转,请检查“USB调试(安全模式)”是否开启,记得顺便开启USB模拟点击。9、在终端输入adbdevices,如果看到如下信息,说明adb已经正确安装,也说明电脑已经成功检测到手机。如果您的系统是Win10或Win8,您可能需要先设置“禁用强制驱动程序签名”。否则会出现如下“文件哈希值不在指定目录”的问题,无法安装adb驱动。网上有教程,请自行学习。10.打开微信跳转启动,在终端输入pythonwechat_jump_auto.py回车,游戏会自动启动~请根据手机分辨率运行对应的*.py文件。注:我跳了很多次,***都会掉箱子。暂时最多只能跳到1800+点,不能一直跳。不同的分辨率有不同的配置文件,详见config文件夹。分数别太高,有人刷到4000,分数被微信清零了。实验结果:只要你有耐心,你就是王下面我们分析一下代码。Main部分有一个While循环。只要你不终止它,它就会一直重复操作。代码Main部分主要调用了三个自定义函数,还有一个time.sleep来延时:pull_screenshot()#获取图片find_piece_and_board(im)#根据图片获取两点坐标jump(math.sqrt((board_x–piece_x)**2+(board_y–piece_y)**2))#根据两点之间的距离和手机的像素计算按下时间和JUMPpull_screenshot()这个函数主要用到adb获取图片,这里顺便“adb”,adb是连接Android手机和PC的桥梁,让用户可以在电脑上完全操作手机。借助adb工具,我们可以管理设备,进行安装软件、系统升级、运行Shell命令等操作。比如“pull”就是获取设备中的文件。想深入了解ADB的请自行学习~find_piece_and_board()根据图像获取当前小人位置和落点的坐标系(piece_x,piece_y,board_x,board_y)。这是脚本的核心部分。Jump根据设置的“长按时间系数”计算出所需的按下时间。这个系数来源于手机的分辨率。按压时间设置为不小于200ms。核心命令是adb的“inputswipe”。"inputswipe"模拟手指在屏幕上的滑动事件。如果两点坐标不变,就变成了长按。代码中四个变量的设置分别是:“swipe_x1,swipe_y1,swipe_x2,swipe_y2=320,410,320,410”所以是模拟长按,但是滑动也是可以的。除了使用Python通过伪造POST请求来获得高分外,还有网友爆料,可以直接伪造POST请求来得分,直接改变分数。日前,V2EX网站上一篇名为《微信跳一跳 可以直接更改分数, POST 请求没有校验… 》的文章引起了广泛的关注。帖子指出,微信小程序存在漏洞,跳上小游戏可以直接更改分数。网友朱鹏飞发现,连微信小程序和游戏的源码都可以按照帖子的指引直接下载。他只需要知道appid和版本号,就可以直接构造一个URL去下载后缀为wxapkg的源码包,不需要任何验证。据微信公众号“小栏目平台”消息,截至1月1日23时50分,微信官方已修复该漏洞。不过据说有些老版本的微信还是可以抓包获取包地址的。***修复了一个微信bug(部分版本未修复),但只要善用前面两种攻略,配合节奏的把握,上头是没问题的的时刻。话不多说,我们去玩吧!!!