统计
  • 建站日期:2019-12-01
  • 文章总数:1888 篇
  • 评论总数:2096 条
  • 分类总数:21 个
  • 最后更新:10月17日
文章 精密算法

小猿口算脚本 程序员攻占小猿口算,炸哭小学生!附脚本地址

程序员阿鑫
首页 精密算法 正文

小学生万万没想到,做个加减乘除的口算练习题,都能被大学生、博士生、甚至是程序员大佬们暴打!

最近这款拥有 PK 功能的《小猿口算》App 火了,谁能想到,本来一个很简单的小学生答题 PK,竟然演变为了第四次忍界大战!

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第1张图片

刚开始还是小学生友好 PK,后面突然涌入一波大学生来踢馆,被网友称为 “大学生炸鱼”;随着战况愈演愈烈,硕士生和博士生也加入了战场,直接把小学生学习软件玩成了电子竞技游戏,谁说大一就不是一年级了?这很符合当代大学生的精神状态。

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第2张图片

然而,突然一股神秘力量出现,是程序员带着科技加入战场!自动答题一秒一道 ,让小学生彻底放弃,家长们也无可奈何,只能在 APP 下控诉严查外挂。

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第3张图片

此时很多人还没有意识到,小学生口算 PK,已经演变为各大高校和程序员之间的算法学术交流竞赛!

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第4张图片

各路大神连夜改进算法,排行榜上的数据也是越发离谱,甚至卷到了 0.1 秒一道题!

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第5张图片

接口也是口,算法也是算,这话没毛病。

这时,官方不得不出手来保护小学生了,战况演变为官方和广大程序员的博弈。短短几天,GitHub 上开源的口算脚本就有好几页,程序员大神们还找到了多种秒速答题的方案。

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第6张图片

官方刚搞了加密,程序员网友马上就成功解密,以至于 网传 官方不得不高价招募反爬算法工程师,我建议直接把这些开源大佬招进去算了。

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第7张图片

实现方法

事情经过就是这样,我相信朋友们也很好奇秒答题目背后的实现原理吧,这里我以 GitHub 排名最高的几个脚本项目为例,分享 4 种实现方法。当然,为了给小学生更好的学习体验,这里我就不演示具体的操作方法了,反正很快也会被官方打压下去。

方法 1、OCR 识别 + 模拟操作

首先使用模拟器在电脑上运行 App,运用 Python 读取界面上特定位置的题目,然后运用 OCR 识别技术将题目图片识别为文本并输入给算法程序来答题,最后利用 Python 的 pyautogui 库来模拟人工点击和输入答案。

这种方法比较好理解,应用范围也最广,但缺点是识别效果有限,如果题目复杂一些,准确度就不好保证了。

详见开源仓库:https://github.com/ChaosJulien/XiaoYuanKouSuan_Auto

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第8张图片

方法 2、抓包获取题目和答案

通过 Python 脚本抓取 App 的网络请求包,从中获取题目和答案,然后通过 ADB(Android Debug Bridge)模拟滑动操作来自动填写答案。然而,随着官方升级接口并加密数据,这种方法已经失效。

详见开源仓库:https://github.com/cr4n5/XiaoYuanKouSuan

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第9张图片

方法 3、抓包 + 修改答案

这个方法非常暴力!首先通过抓包工具拦截口算 App 获取题目数据和答案的网络请求,然后修改请求体中的答案全部为 “1”,这样就可以通过 ADB 模拟操作,每次都输入 1 就能快速完成答题。根据测试可以达到接近 0 秒的答题时间!

但是这个方法只对练习场有效,估计是练习场的答题逻辑比较简单,且没有像 PK 场那样的复杂校验。

详见开源仓库:https://github.com/cr4n5/XiaoYuanKouSuan

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第10张图片

方法 4、修改 PK 场的 JavaScript 文件

这种方法就更暴力了!在 PK 场模式下,修改 App 内部的 JavaScript 文件来更改答题逻辑。通过分析 JavaScript 响应中的 isRight 函数,找到用于判定答案正确与否的逻辑,然后将其替换为 true,强制所有答案都判定为正确,然后疯狂点点点就行了。

详见开源仓库:https://github.com/cr4n5/XiaoYuanKouSuan

小猿口算脚本程序员攻占小猿口算,炸哭小学生!附脚本地址-程序员阿鑫-带你一起秃头-第11张图片

能这么做是因为 App 在开发时采用了混合 App 架构,一些功能是使用 WebView 来加载网页内容的。而且由于 PK 场答题逻辑是在前端进行验证,而非所有请求都发送到服务器进行校验,才能通过直接修改前端 JS 文件绕过题目验证。

不得不说,以上几个项目值得我们学习,另外,不要再欺负小学生啦!!!

版权说明
文章采用: 《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权。
版权声明:未标注转载均为本站原创,转载时请以链接形式注明文章出处。如有侵权、不妥之处,请联系站长删除。敬请谅解!

-- 展开阅读全文 --
php简单快速搭建随机图片api
« 上一篇
花500在互站买的免登录H5快手商城系统/抖音小店商城全开源运营版本
下一篇 »

发表评论

HI ! 请登录
注册会员,享受下载全站资源特权。
登陆
上号,带你一起秃头!

热门文章

最新文章

标签