1. 程式人生 > >微信小程式反編譯~2020年

微信小程式反編譯~2020年

[toc] ## 摘要 安裝wxappUnpacker小程式反編譯工具並使用(2020.03) **關鍵詞:** 微信小程式反編譯 wxss ## 介紹 上次分享了[web前端爬取工具](工具:web前端爬取) ,那麼這次也同樣講講微信小程式反編譯吧,對於像博主這種審美奇低且前端技術渣渣的人來說,實在是利器呀。不過儘量只是反編譯來學習研究啦! ## 安裝反編譯指令碼 首先,得先了解下怎麼安裝,內容過長,我就不Ctrl CV了(主要是安裝簡單,成功並且完美地編譯難) 完美地反編譯出來難就難在微信小程式一直更新,但是編譯工具又是舊的 First,[終於成功了,分享一波超詳細小程式原始碼獲取方法——圖文!]( https://www.jianshu.com/p/97b7d5498dcd ) 如果想省事,安裝nodejs之後直接下載下面的連結的檔案替換掉你的反編譯工具: https://gitee.com/Sao-operation/wxappUnpacker/repository/archive/master.zip 如果你只是樣式編譯出問題了(就是page的wxss都是空白的),那麼 - 修改wxappUnpacker檔案中的 `wuWxss.js` ```css function runVM(name, code) { // let wxAppCode = {}, handle = {cssFile: name}; // let vm = new VM({ // sandbox: Object.assign(new GwxCfg(), { // __wxAppCode__: wxAppCode, // setCssToHead: cssRebuild.bind(handle) // }) // }); // vm.run(code); // for (let name in wxAppCode) if (name.endsWith(".wxss")) { // handle.cssFile = path.resolve(frameName, "..", name); // wxAppCode[name](); // } let wxAppCode = {}; let handle = {cssFile: name}; let gg = new GwxCfg(); let tsandbox = { $gwx: GwxCfg.prototype["$gwx"], __mainPageFrameReady__: GwxCfg.prototype["$gwx"], //解決 $gwx is not defined __vd_version_info__: GwxCfg.prototype["$gwx"], //解決 __vd_version_info__ is not defined __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](); } } } ``` ## 使用 ### 獲取wxapkg檔案 1. 安裝夜深模擬器(但是這裡有個問題,夜深模擬器可能用不了,我只記得是多開器裡開一個新的才行,而且以後每次使用都得切換成那個新的)
2. 開啟夜深模擬器登入微信,點選需要學(piao)習(qie)的微信小程式 3. 開啟RE檔案管理器(沒有的話就先安裝吧),到如下目錄,開啟這個看著名字是十六進位制且很長的資料夾(每個人的會不一樣)
4. 進入如下目錄,選擇wxapkg檔案(注意日期,例如紅線部分意為6月17日)
5. 想辦法把wxapkg檔案從夜深模擬器裡傳送到你的能找到到電腦資料夾裡吧 ### 反編譯 1. 第一步 開啟nodejs 跳轉到反編譯指令碼的目錄,例如反編譯指令碼呢放在D盤,且反編譯指令碼資料夾名為”wxappUnpacker“,如果是Windows系統( 如果是Linux去掉下面那個蛋疼的 /d),則在node.js command pormpt輸入: ```shell cd/d D:\wxappUnpacker ``` 或 ```shell cd D:\wxappUnpacker cd D: ``` 2. 第二步 跳轉到反編譯指令碼的根目錄之後,在電腦資料夾裡找到wxapkg檔案,例如wxapkg檔案放在D盤,且檔名為_000000_1.wxapkg,則在node.js command pormpt輸入: ```shell node wuWxapkg.js -d D:\_000000_1.wxapkg ``` 再回車 3. 第三步 最後去找和.wxapkg檔案相同路徑下的同名資料夾,該檔案用**微信開發者工具**開啟即可。 ## 結論 反編譯...真香(我這是饞他的程式碼嗎,我這是在學習研究) ## 參考資料 [終於成功了,分享一波超詳細小程式原始碼獲取方法——圖文:順毛驢_dedc]( https://www.jianshu.com/p/97b7d5498dcd ) [反編譯微信小程式錯誤: $gwx is not defined和__vd_version_info__ is not defined 已解決]( https://blog.csdn.net/weixin_34342992/article/details/91