我做爬虫这几年,逆向了几十个小程序。刚开始的时候有个误区,以为看小程序源码就是打开微信开发者工具、导入项目、读代码。
那是你自己写的项目。
别人的小程序不一样,你手里只有一个 .wxapkg,加密的二进制包。把它变成人能读的源码,中间隔了三层:找包、解密、反编译。说穿了就这点事,但每层都有坑。
先说怎么找这个包。
你 PC 微信打开过的小程序,包自动就下到本地的:
C:\Users\你的用户名\Documents\WeChat Files\Applet\wx[小程序ID]\
一个文件夹一个小程序,文件夹名就是 AppID。怎么找 AppID?微信里点开小程序,右上角三个点,再点名字,就在那。懒得找就直接去 Applet 目录按修改时间排,最近打开的就是。
文件夹里面,__APP__.wxapkg 是主包,搞了分包加载的还有 __APP__-sub.wxapkg 这种。我第一次不知道有分包这回事,只拿了主包去解,反编译出来好几个页面空的,查了一圈才发现自己漏了。不是工具的锅。
找到了,然后呢?它是加密的,不是 zip,你解不了。
PC 版微信的加密方案我拆过,不算复杂:文件头 6 字节是标记 V1MMWX,前 1023 字节用 AES 加密,密钥通过 PBKDF2 从 AppID 推出来,salt 固定是 “saltiest”,1000 轮迭代。1023 字节之后,全部 XOR,key 是 AppID 倒数第二个字符,如果 AppID 不够两位就用 0x66。
你别自己写解密代码。我说这些细节,是想告诉你这层皮不厚,不是啥高深东西。
2026 年能用的工具有三个。
wxapkg,GitHub 3.9k stars,Wails 写的桌面 GUI,Windows 和 Mac 都能跑,Releases 下预编译版双击:
wxapkg.exe scan -r "D:\WeChat Files\Applet"
</


983

被折叠的 条评论
为什么被折叠?



