跳转至

小程序解包

提取 wxapkg

要想解包小程序的话,首先得拿到小程序的 wxapkg 文件,wxapkg 是微信小程序的安装包格式,它包含了小程序的代码、资源、图标等文件。虽然 wxapkg 文件的代码和资源通常是加密的,无法直接查看,但也可以使用特定的工具进行解密,所以解包之前我们得先提取出小程序的 wxapkg 文件。

iOS 平台

iOS 下的 wxapkg 文件的存放路径为:

/var/mobile/Containers/Data/Application/{系统UUID}/Library/WechatPrivate/{user哈希值}/WeApp/LocalCache/release/{小程序的AppID}

Android 平台

Android 下的 wxapkg 文件的存放路径为:

/data/data/com.tencent.mm/MicroMsg/{user哈希值}/appbrand/pkg/

因为之前可能存在其他小程序的干扰,建议先提前删除清空这些目录下的 wxapkg 文件。

Windows 平台

Windows 默认小程序的存放路径为:

C:\Users\{系统用户名}\Documents\WeChat Files\Applet\{小程序的AppID}\

最终翻阅的小程序的文件为:__APP__.wxapkg

解密 wxapkg

通过上述的几种方法,其中在 iOS 和 Android 下我们可以直接解包,无需解密这一步操作!

但是 PC 版小程序还有一层加密,我们需要单独解密一下才可以使用。

借助开源项目 PC微信小程序 wxapkg 解密:https://github.com/superdashu/pc_wxapkg_decrypt_python

# 安装依赖
pip install pycryptodome

# 直接解密
python main.py --wxid wx459188c624e6a5df --file __APP__.wxapkg --output dec.wxapkg

解包 wxapkg

这里解包依然使用的第三方开源工具来实现:mp-unpack https://github.com/xuedingmiaojun/mp-unpack

但是这个工具好像使用门槛慢慢变高了,不过国光我这里保存了之前门槛较低的版本,网友可以自取。

node wuWxapkg.js dec.wxapkg

有时候会出现检测到此包是分包后的子包, 使用 -s 参数指定存放路径后即可:

node wuWxapkg.js -s=/xxx/xxx ./testpkg/test-pkg-sub.wxapkg

下面拿一个人工智能问答的小程序解包看看,吃惊,原来核心功能就是调用网页接口呀:


最后更新: 2023-02-08