Skip to content
/ xyks Public

小猿口算逆向笔记 (已实现纯协议答题模板)

License

Notifications You must be signed in to change notification settings

xmexg/xyks

Repository files navigation

声明

本仓库仅供技术学习使用
本项目作者及贡献者从未在任何平台通过任何形式售卖! 且本项目禁止任何人在任何平台通过任何形式售卖! 因售卖产生的所有违法行为与本仓库无关!

小猿口算

不完全完成的逆向笔记

image

demo_auto_snswer.mp4

演示5分钟上到1万分 已经过时啦, 通过调整试题倍率,得分速度又翻了3倍,倍率最高为3,再高不计成绩

现在瓶颈是cpu和代码执行效率了
auto_submit_cpu

关键目录说明

目录 功能
dexdump 使用frida-dexdump导出的dex
frida 用到的一些脚本和逆向笔记
har 在虚拟机抓到的包
java_test 一点java测试
matchV2 修改获取到的试题包,可修改成一道题任意答案
matchV2_byDataDecryptCommand matchV2同样的功能, 修改获取到的试题包,可修改成一道题任意答案
submit 修改提交的答案包,可修改答题耗时
gan_sign 生成sign参数, 协议发包用
get_cookie 获取cookie, 协议发包用
answer_encrypt 加密答案, 协议发包用
auto_answer 协议发包
anay_vip.js 研究任意修改本地vip会员到期时间,只是本地会员

如何复现

adb相关

现在frida使用adb shell ps | grep com.fenbi.android.leo查询小猿口算pid, 所以需要安装adb

  • 提前下载platform模块并放入系统环境变量。

  • 运行PowerShell或者CMD

  • 输入adb devices查找设备绑定

  • 输入adb connnect 127.0.0.1:port 注意 此处的port为端口号 具体查看模拟器的ADB端口
    Mumu模拟器一般默认为16384 或者直接输入adb connect 127.0.0.1:16384

  • 下载frida-server-android使用adb推送至安卓

    adb push frida-server-android*路径 /data/local/tmp
    adb shell
    su #此处需要在模拟器中授权
    cd /data/local/tmp
    chmod 777 frida-server-android* #给rwx权限
    ./frida-server-android*

    即可运行frida,到此adb结束。

    注意不要退出powershell或者cmd的窗口
    image

webview复现

  • windows:
    安装mumu模拟器,根据mumu官方教程,依次安装magisk,lsposed,算法助手。

    安装小猿口算app,在算法助手里设置小猿口算app允许webview远程调试。

    打开chrome或edge浏览器,分别打开chrome://inspect或者edge://inspect

    打开小猿口算app,打开口算pk,回到浏览器的inspect页面,等待显示出pk链接调试按钮,点击调试。

    开发者工具的网络页面选择保留日志。然后左上角刷新页面以确保获取到完整数据。每打开一个页面回到inspect页面等待获取到新的调试链接,在新的调试页面刷新页面。
    查看视频

frida复现

  • windows:
    安装mumu模拟器, 根据mumu官方教程, 开启root

    frida仓库下载frida-server-版本号-android-x86_64.xz并解压

    把解压后的frida-server推送到模拟器任意目录,比如通过adb push推送到/data/local目录下

    连接到模拟器终端使用root启动frida-server,比如adb shell, su, /data/local/frida-server-文件名

    电脑安装frida和frida-tools

    pip install frida-tools
    pip install frida
    

    电脑命令行向小猿口算注入xx脚本frida -U -n 小猿口算 -l .\hook_JsBridgeBean_sign.js

已解决 (关键目录说明 更全一些):

待完成(我真不会so逆向):

推荐项目:

其他:

  • #29 修改会员 进行研究
    可能可以设置本地会员到期时间为9999年12月31日, 也可能不显示,
    我在2024年10月15日18点前能修改会员到期时间, 尝试修改studyGroupRightInfo后反而失效了

推荐链接

免责声明

  1. 本仓库发布的 xyks (下文均用本项目代替) 项目中涉及的任何脚本,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。

  2. 作者对任何脚本问题概不负责,包括但不限于由任何脚本错误导致的任何损失或损害.

  3. 请勿将本项目的任何内容用于商业或非法目的,否则后果自负。

  4. 以任何方式查看此项目的人或直接或间接使用本项目的任何脚本的使用者都应仔细阅读此声明。作者保留随时更改或补充此免责声明的权利。一旦使用并复制了任何相关脚本或本项目,则视为您已接受此免责声明。

  5. 您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

  6. 任何擅自改变计算机信息网络数据属于违法行为,本项目不提供成品可运行程序,仅做学习研究使用。

您使用或者复制了本仓库且本人制作的任何代码或项目,则视为已接受此声明,请仔细阅读。