KillWxapkg是一款自动化反编译微信小程序的工具,用于小程序安全评估,能够发现小程序安全问题,自动解密、解包,可还原工程目录,支持Hook和小程序修改。
实现语言:Golang
支持内容:
- 小程序自动解密
- 小程序自动解包,支持代码美化输出
- Json美化
- JavaScript美化
- Html美化
- 支持还原源代码工程目录结构
- Json配置文件还原
- JavaScript代码还原
- Wxml代码还原
- Wxss代码还原
- Hook小程序,动态调试,开启小程序F12
- 重新打包wxapkg
- 监听将要打包的文件夹,并自动打包
- 敏感数据导出
小程序默认存储位置
微信4.0之前
%HOMEPATH%\Documents\WeChat Files\Applet\
微信4.0之后
%HOMEPATH%\AppData\Roaming\Tencent\xwechat\radium\Applet\packages
选项
-id=<输入AppID> -in=<输入文件1,输入文件2> 或 -in=<输入目录> -out=<输出目录> [-ext=<文件后缀>] [-restore] [-pretty] [-noClean] [-help] [-hook] [-save] [-repack=<输入目录>] [-watch] [-sensitive]
参数说明
-id string
- 微信小程序的AppID
- 包已解密,可不指定
- 例:-id=wx7627e1630485288d
-in string
- 输入文件路径(多个文件用逗号分隔)或输入目录路径
- 自动检测,已解密的包,自动解包,未解密的包,自动解密后解包
- 解密后的包会保存到输入目录下以AppID命名的文件夹
- 例:-in="app.wxpkg,app1.wxapkg"
- 例:-in="C:\Users\mi\Desktop\Applet\64"
-out string
- 输出目录路径(如果未指定,则默认保存到输入目录下以AppID命名的文件夹)
-restore
- 是否还原源代码工程目录结构,默认不还原
-pretty
- 是否美化输出,默认不美化,美化需较长时间
-ext string
- 处理的文件后缀 (default ".wxapkg")
- 例:-ext=.wxapkg
-noClean
- 是否清理反编译的中间文件,默认清理
-hook
- 是否Hook小程序,动态调试,开启F12,默认不Hook
- 注意:目前仅支持Windows,建议小号,有封号风险
-save
- 是否保存解密后的文件,默认不保存
-repack string
- 重新打包目录路径
- 例:-repack="C:\Users\mi\Desktop\Applet\64"
- 注意:目前仅支持一次打包一个文件,同时仅支持未被解析的源文件(未使用-restore)
-watch
- 是否监听将要打包的文件夹,并自动打包,默认不监听
-sensitive
- 是否导出敏感数据,默认不导出,导出后会在工具目录下生成sensitive_data.json文件,支持自定义规则
-help
- 显示帮助信息
开启小程序F12
运行前先启动微信(建议小号,有被封号风险)
<本程序> -hook
该功能对微信的版本有要求,历史版本可参考:官网:https://weixin.qq.com/updates?platform=windows&version=3.9.7Github用户上传的:https://github.com/tom-snow/wechat-windows-versions/releases
在 https://github.com/eeeeeeeeee-code/wx-hook 项目介绍中,提到新版的devtools十分难受,界面垃圾,功能稀少
,并给出了相关的解决办法——替换微信的RadiumWMPF为老版本,具体参考上面的项目链接。
但这也带来一个问题,可能会提示当前微信版本较低,无法使用此小程序。请更新后使用。
有一些小程序是根据微信4.0搞的,对旧版的存在不适配的因素。
重新打包运行
<本程序> -repack=<输入目录> [-out=<输出目录或文件>] [-watch]
获取微信小程序AppID
文件夹名即为AppID
进入文件夹下,即可找到.wxapkg文件
结尾
更多内容,详见https://github.com/Ackites/KillWxapkg
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)