首页 >> 大全

Sun的逆向之路(二)——FiF口语训练的刷分剖析

2023-12-07 大全 27 作者:考证青年

闲来无事看了看FiF口语中一些Task的排行榜,翻着翻着意外发现了一个101分的榜首,按理来说满分才只有100分,因此猜想这个分数一定是被动过手脚的,于是来了兴致,从POST请求与APK反编译两个角度分别尝试破解FiF。

方案一:APK反编译

将FiF的apk文件拖入,发现加载失败,于是拖入jadx,发现原来上了奇虎的加固壳,考虑到只是把玩娱乐,脱壳会大大增加复杂性,于是暂时放弃反编译的想法。

方案二:POST请求拦截  0x01 配置

因为自从用了新电脑就没有抓过包了,因此还是要做一些配置的。Java Jdk和环境变量的配置工作在此掠过了,但考虑到这次的配置过程还有点不同寻常,所以这里做一下记录。

运行提示8888端口占用了,询问是否随机取端口。考虑到不使用8888可能后面会造成一些不必要的麻烦,于是打开cmd输入 -ano| “8888”,发现原来端口被PID为20348的应用占用了,打开任务管理器的详细信息选卡,发现是,于是结束进程。

这里写图片描述

_口语易刷分_口语100刷分器

随后重启,发现没有端口占用提示了。再次查看8888端口的状态,可以看到这个端口已经成功被监听。接下来在手机浏览器访问“IP:8888”,安装证书即可,IP可通过控制台指令查看。至此环境配置结束。

这里写图片描述

0x02 POST请求拦截

手机端对应设置好HTTP代理后,打开FiF,发现这边的请求很杂乱,这是因为电脑和手机上所有的网络请求都被显示了,于是配置过滤器,只显示抓取Host为的请求,同时通过命令bpc:来设置请求断点。随便进入一个Task,这里我进的是四级口语模拟题2的Task1。随便读两句。

这里写图片描述

随后提交,在上可以看到请求已经被拦截下来了,

口语易刷分_口语100刷分器_

对应在右侧的中可以看到对应的:

  {"recordPath" : "2811000026000000971\/cc253a5178c44088b736bcb9386f324e\/e7ba561752f34de683f6435e47ced8f6\/t\/0_0.mp3","score" : "0","ansDetail" : "word#0","learn_time" : "2","questionId" : "e7ba561752f34de683f6435e47ced8f6#0#0","accuracy" : "0","fluency" : "0","complete" : "0"}
]

显然score代表的就是分数,我们将其修改为101,在中单击Run To 放行修改过的请求,手机端对应有了相应,提示挑战失败,但我们返回列表并刷新,发现实际上数据已经上传成功并在排行榜上显示了。至此FiF口语的刷分就顺利实现了。

这里写图片描述

0x03 小结

FiF口语虽然对应用加壳处理了,但是却忘记了对网络请求进行安全加固,导致了刷分的可行性。希望FiF口语官方对请求参数进行加密或组合加密,或利用sign值算法验证请求的合法性,尽快更新应用并修复此漏洞。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了