微信小程序

微信小程序逆向

简单记录一次小程序的逆向

目标小程序:

I+Wwj+eoi+W6jzovL+eWr+eLguWIt+mimC9WNFNTUnRIbDVMS0EwM0g=

微信小程序DEVTOOL

克隆工具项目到本地, (也有打包的exe文件, 但是我试了不能用, 提示找不到支持的微信版本)

微信小程序强制开启开发者工具: JaveleyQAQ/WeChatOpenDevTools-Python: WeChatOpenDevTool 微信小程序强制开启开发者工具 (github.com)

下载准备相关依赖文件

准备重新安装支持的微信版本, 登上一个小号

微信历史版本下载: 发行版 · tom-snow/wechat-windows-versions (github.com)

运行项目(运行前检查小程序和微信版本是否支持), 就可以打开devtool了;

不过感觉这里的devtool好像有点问题, network抓包缺失, 全局搜索跑一半卡住, js也看不到几个, 感觉找不到什么

image-20241005234737151

反编译小程序

工具用的第一个, 直接下打包的exe文件就好

Ackites/KillWxapkg: 自动化反编译微信小程序,小程序安全评估工具,发现小程序安全问题,自动解密,解包,可还原工程目录,支持Hook,小程序修改 (github.com)

wux1an/wxapkg: 微信小程序反编译工具,.wxapkg 文件扫描 + 解密 + 解包工具 (github.com)

ezshine/wxapkg-convertor: 一个反编译微信小程序的工具,仓库也收集各种微信小程序/小游戏.wxapkg文件 (github.com)

打开目录 D:\Tiam\Documents\WeChat Files

image-20241005235504992

然后打开AppletD:\Tiam\Documents\WeChat Files\Applet目录, 目录下基本都是小程序, 文件名格式为wx******

进去找到__APP__.wxapkg文件, 复制路径

按修改时间排序, 目标小程序的第一次打开时间应该与文件夹的修改日期一致

使用命令KillWxapkg_2.4.1_windows_amd64 -id=<小程序ID> -in=<__APP__.wxapkg文件路径>反编译小程序

这里的命令参数和值之间使用了=符号, 不是通常的空格, 注意

image-20241006000916849

拖动反编译的整个文件夹到微信开发者工具中打开, 全局搜索关键字定位js, 大概理清js逻辑就可以还原了, 大概逻辑就是参数拼接一起加了个固定值, 然后进行MD5加密就没了, 不过特殊一点的是参数拼接之间什么符号都没有, 既没有&也没有=

image-20241006001456712

的是参数拼接之间什么符号都没有, 既没有&也没有=

[外链图片转存中…(img-N6skThMH-1728145384253)]

上一篇:一个月学会Java 第2天 认识类与对象


下一篇:《Linux从小白到高手》理论篇:深入理解Linux的网络管理