1. 程式人生 > 其它 >微信小程式反編譯wxss檔案缺失_小程式反編譯工具在windows系統下的呼叫指令碼

微信小程式反編譯wxss檔案缺失_小程式反編譯工具在windows系統下的呼叫指令碼

技術標籤:微信小程式反編譯wxss檔案缺失

點選上方 藍字可以訂閱哦

之前的文章中介紹了小程式的反編譯工具,工具在 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分鐘帶你學會微信小程式的反編譯

反編譯微信小程式錯誤解決

覺得這篇文章有幫助?請轉發給更多人

關注極客之路加星標每天進步一點點

3190af23e468ab53780c6aaf818b510f.png