第一次寫文章有梆,給大家寫一篇關(guān)于反編譯小程序的文章各淀,雖然網(wǎng)絡上相關(guān)的文章比較多了,但是我竟可能把自己在實際運行中遇到的問題寫下來
1>配置node環(huán)境爬虱,這個很簡單,到官網(wǎng)下載就可以啦(https://nodejs.org/en/)
2>下載一個模擬器腾它,我下載的是夜神模擬器跑筝,在夜神模擬器中下載QQ和微信,登錄微信打開想要獲取的小程序
3>下載一個RE文件管理器或者使用系統(tǒng)自帶的文件管理器
https://pan.baidu.com/s/1IA19w35x_ESibyMSWGt6zQ 提取碼: y49a(RE文件管理器瞒滴,下載后直接拖到夜神模擬器)
我用自帶的文件管理器也找到小程序包
一般情況進入文件管理器會讓你授權(quán)超級權(quán)限曲梗,同意就行
文件管理系統(tǒng)中找到以下目錄,如果沒有看到文件包妓忍,可能需要重啟一下
/data/data/com.tencent.mm/MicroMsg/{User}/appbrand/pkg
{User} 為當前用戶的用戶名
接下來就是找到想要程序的.wxapkg文件包虏两,可以通過創(chuàng)建時間來判斷是否是自己想要的文件包,
壓縮.wxapkg然后通過qq發(fā)送文件世剖,有的人用微信發(fā)送可能會出問題
4>配置超級用戶權(quán)限(打開文件管理器的時候會問你定罢,如果沒問的話,可以在設(shè)置中里面找到超級用戶權(quán)限)
5>接下來是核心步驟搁廓,下載qwerty472123大神寫的反編譯工具
將下載的.zip解壓到文件夾中
文件目錄如下
把.wxapkg小程序包放到文件夾中引颈,也可以不放
解壓后,npm install一下
然后安裝其他依賴包
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
npm install escodegen
下載完成后,通過cmd到文件夾下境蜕,使用node wuWxapkg.js <files...>命令
注意這里的 files 即小程序包的路徑蝙场,需要寫絕對路徑,就能生成小程序源代碼了
本在使用wxappUnpacker反編譯的時候出現(xiàn)了一個問題
1: __vd_version_info__ is not defined
第一個問題查閱了大部分文章,發(fā)現(xiàn)是微信小程序更新導致出現(xiàn)的問題
需要去修改wuWxss.js 文件里的runVM函數(shù)
function runVM(name, code) {
? ? ? ? let wxAppCode = {};
? ? ? ? let handle = { cssFile: name };
? ? ? ? let gg = new GwxCfg();
? ? ? ? let tsandbox = {
? ? ? ? ? ? $gwx: GwxCfg.prototype["$gwx"],
? ? ? ? ? ? __mainPageFrameReady__: GwxCfg.prototype["$gwx"],
? ? ? ? ? ? __vd_version_info__: GwxCfg.prototype["$gwx"],
? ? ? ? ? ? __wxAppCode__: wxAppCode,
? ? ? ? ? ? setCssToHead: cssRebuild.bind(handle)
? ? ? ? }
? ? ? ? let vm = new VM({ sandbox: tsandbox });
? ? ? ? vm.run(code);
? ? ? ? for (let name in wxAppCode) {
? ? ? ? ? ? if (name.endsWith(".wxss")) {
? ? ? ? ? ? ? ? handle.cssFile = path.resolve(frameName, "..", name);
? ? ? ? ? ? ? ? wxAppCode[name]();
? ? ? ? ? ? }
? ? ? ? }
? ? }
如遇到其他問題粱年,可聯(lián)系作者微信 weiweics
轉(zhuǎn)發(fā)帶上本鏈接售滤,么么