之前的文章中介绍了小程序的反编译工具,工具在 Linux 系统下使用时执行bingo.sh [xxx.wxapkg]就可以。
有小伙伴不知道在windows系统下如何使用,这里提供两个方法
准备:安装好 node 环境,打开 cmd后克隆仓库至本地,cd 进入工具根目录,npm install 一下
可以命令行直接执行如下命令
node wuWxapkg.js [xxx.wxapkg]
或者命令行下使用 bingo.bat 解包
./bingo.bat [xxx.wxapkg]
脚本内容
# WXAPPUNPACKER_PATH 项目路径
set WXAPPUNPACKER_PATH=%~dp0
set FILE_FORMAT=wxapkg
:wxappUnpacker_pkg
echo "node %WXAPPUNPACKER_PATH%/wuWxapkg.js %fname%"
node %WXAPPUNPACKER_PATH%/wuWxapkg.js %2 %1
goto:eof
:wxappUnpacker
set de_dir=%1
if "%de_dir%" == ""
set de_dir=%WXAPPUNPACKER_PATH%
echo %de_dir%
echo "for wxapkg in `find %de_dir% "*.${FILE_FORMAT}"`"
for %%fname in `/f %de_dir% -name "*.%FILE_FORMAT%"`
do
(call :wxappUnpacker_pkg %fname% %2)
goto:eof
:de_pkg
if "-d" == "%1"
(call :wxappUnpacker %1 %2)
else
(call :wxappUnpacker_pkg %1 %2)
goto:eof
# %1: pkg file or pkg dir; %2: order
call :de_pkg %1 %2
工具地址
https://github.com/xuedingmiaojun/wxappUnpacker
用法
node wuConfig.js<files...>
将 app-config.json 中的内容拆分到各个文件对应的 .json 和 app.json , 并通过搜索 app-config.json 所在文件夹下的所有文件尝试将 iconData 还原为 iconPath 。node wuJs.js<files...>
将 app-service.js (或小游戏中的 game.js ) 拆分成一系列原先独立的 javascript 文件,并使用 Uglify-ES 美化,从而尽可能还原编译前的情况。node wuWxml.js[-m]<files...>
将编译/混合到 page-frame.html ( 或 app-wxss.js ) 中的 wxml 和 wxs 文件还原为独立的、未编译的文件。如果加上-m
指令,就会阻止block
块自动省略,可能帮助解决一些相关过程的 bug 。node wuWxss.js<dirs...>
通过获取文件夹下的 page-frame.html ( 或 app-wxss.js ) 和其他 html 文件的内容,还原出编译前 wxss 文件的内容。node wuWxapkg.js[-o][-d][-s=<MainDir>]<files...>
将 wxapkg 文件解包,并将包中上述命令中所提的被编译/混合的文件自动地恢复原状。如果加上-o
指令,表示仅解包,不做后续操作。如果加上-d
指令,就会保留编译/混合后所生成的新文件,否则会自动删去这些文件。同时,前面命令中的指令也可直接加在这一命令上。~~而如果需要解压分包,请先解压主包,然后执行node wuWxapkg.js[-d]-s=<MainDir><subPackages...>
,其中MainDir
为主包解压地址。除-d
与-s
外,这些指令两两共存的后果是未定义的(当然,是不会有危险的)。
参考文章
看见有意思的小程序想借鉴一下?10分钟带你学会微信小程序的反编译
反编译微信小程序错误解决
觉得这篇文章有帮助?请转发给更多人
关注 极客之路 加星标,每天进步一点点