🚀前言
之前羊了个羊大火的时候写了一个羊了个羊辅助--GitHub - SwaggyMacro/YangLeGeYang,可以免抓包一键获取Token。
后面随着热度退去也没有再更新,其中获取微信小程序Token的逻辑还在,只不过经过微信的更新原来的AoB Scan (Array of Bytes)方式已经失效,主要原因是微信小程序已经更新至x64,原有的AoB Scan仅支持扫描32 bit程序。
本文仅讲述原理以及实现方式并提供实现代码,具体项目实现请自行尝试。
通过本文实现的任何违法、犯罪等程序,本人概不负责,本文仅供技术探讨以及研究。
💻准备工作
mitmproxy 抓包工具 (你要获取 Token / Cookies 总要先知道有什么吧)
Cheat Engine (你总要知道该搜索什么内容吧 借助CE实现)
C# 或 Python 总得会一个
对抓包以及CE多少需要了解一点点点点,如果继续往下看发现看不明白的话请你Google Or Bing/Baidu 搜索一下相关知识内容。
📖正文开始
双击打开mitmweb.exe,如果8080或8081端口占用的话可以使用cmd指定端口运行。
设置系统代理为127.0.0.1:8080(端口为你指定的端口 8080是默认端口

从PC端微信搜索你要抓包的小程序,在这以羊了个羊为例,打开游戏后可以发现mitmproxy的web页面出现了羊了个羊的数据加载,在其中找寻一下有用的请求,发现其中一个请求附带了t协议头,该协议头为羊了个羊的鉴权信息,本次就以获取该信息为例。

尝试在Cheat Engine中搜索eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9


在C#程序中填入进程名(WechatAppEx 微信小程序进程名)、窗口标题(羊了个羊 羊了个羊窗口标题 避免遍历所有微信小程序进程耗时)、扫描内容(eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9),点击Scan可以发现在下方ListView中已经有了结果。

在Python代码中填入窗口标题(羊了个羊)以及扫描内容(eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9)后运行即可,下方会输出搜索到的内容。

实际开发中可能不会这么顺利,以上只是例子,具体需要扫描的内容需要自己一步步去抓包以及CE扫描获取,最后再通过程序获取。
⚠️注意事项
- 使用
C#代码时因为是扫描64bit程序,所以请选择x64平台,另外需要以管理员身份运行。
- 使用
Python代码时请以管理员身份运行。
📚所需工具以及源代码
🌟源代码: Github项目地址 GitHub - SwaggyMacro/AoBScanExample (可以尝试留下Star 那么我会非常感谢你🌹)
⚒️Cheat Engine 官方: Cheat Engine
🔨mitmproxy 官方: https://mitmproxy.org/
🧰CE和mitmproxy整合包(无法访问官方网站可从以下链接下载)