微信小程序源碼的輔助工具
提示:鑒于有網(wǎng)友回復(fù)不知道干什么用的,因此有必要重新修改一次,寫(xiě)上完整的使用說(shuō)明,說(shuō)白了就是獲取線(xiàn)上小程序源碼的輔助工具,電腦端訪(fǎng)問(wèn)微信小程序會(huì)在C:\Users\用戶(hù)\Documents\WeChat Files\Applet(即【我的文檔 】下尋找WeChat Files 目錄)目錄以wx開(kāi)頭生成小程序包,不過(guò)是加密的,因此我們用此程序解密,配合小程序解包工具獲取源碼,比如wuWxapkg.js獲取小程序源碼。一般的小程序反編譯教程就是手機(jī)root然后在XXX目錄下尋找wxapkg包,或者安裝模擬器然后在尋找,其實(shí)可以更簡(jiǎn)單:登錄電腦端微信,訪(fǎng)問(wèn)你想解包的小程序,小程序包會(huì)在:我的文檔\WeChat Files\Applet下生成wx開(kāi)頭的文件夾,里面包含__APP__.wxapkg文件,這個(gè)文件就是小程序包(不要復(fù)制出來(lái))。
PC端微信把wxapkg給加密,加密后的文件的起始為V1MMWX。加密方法為: 首先pbkdf2生成AES的key。利用微信小程序id字符串為pass,salt為saltiest 迭代次數(shù)為1000。調(diào)用pbkdf2生成一個(gè)32位的key 取原始的wxapkg的包得前1023個(gè)字節(jié)通過(guò)AES通過(guò)1生成的key和iv(the iv: 16 bytes),進(jìn)行加密 接著利用微信小程序id字符串的倒數(shù)第2個(gè)字符為xor key,依次異或1023字節(jié)后的所有數(shù)據(jù),如果微信小程序id小于2位,則xorkey 為 0x66 把AES加密后的數(shù)據(jù)(1024字節(jié))和xor后的數(shù)據(jù)一起寫(xiě)入文件,并在文件頭部添加V1MMWX標(biāo)識(shí)一 準(zhǔn)備工具1 node.js 運(yùn)行環(huán)境下載地址:https://nodejs.org/en/2 反編譯的腳本https://github.com/xuedingmiaojun/wxappUnpacker3 小程序包解密工具【C#版原創(chuàng)】https://share.weiyun.com/uMqNGOXv二 開(kāi)始反編譯1 獲取小程序pkg包:登錄電腦端微信,訪(fǎng)問(wèn)你想解包的小程序,小程序包會(huì)在:我的文檔\WeChat Files\Applet下生成wx開(kāi)頭的文件夾,里面包含__APP__.wxapkg文件,這個(gè)文件就是小程序包(不要復(fù)制出來(lái))。我們用解密工具解密: 下載地址:https://share.weiyun.com/uMqNGOXv核心代碼移步:https://www.52pojie.cn/thread-1336342-1-1.html解密后的小程序包就在程序的 wxpack目錄下以小程序ID命名。2 安裝腳本依賴(lài)?yán)胏md cd到你剛剛下載下來(lái)的腳本目錄下,執(zhí)行npm install安裝依賴(lài)3 執(zhí)行腳本命令復(fù)制小程序pkg的路徑執(zhí)行bingo.bat d:\wxpack\wx1e4eb0f8a10e5177.wxapkg三 反編譯成功Decompile ./pages/admin/admin.wxml...Decompile success!Decompile ./pages/admin/help.wxml...Decompile success!Decompile ./pages/admin/user.wxml...Decompile success!Decompile ./pages/index/index.wxml...Decompile success!Decompile ./pages/login/login.wxml...Decompile success!Decompile ./pages/report/index.wxml...Decompile success!Guess wxss(first turn)...Import count info: {}Guess wxss(first turn) done.Generate wxss(second turn)...Generate wxss(second turn) done.Save wxss...