微信小程序反編譯~2020年

摘要

安裝wxappUnpacker小程序反編譯工具並使用(2020.03)

關鍵詞: 微信小程序反編譯 wxss

介紹

上次分享了web前端爬取工具 ,那麼這次也同樣講講微信小程序反編譯吧,對於像博主這種審美奇低且前端技術渣渣的人來說,實在是利器呀。不過盡量只是反編譯來學習研究啦!

安裝反編譯腳本

首先,得先了解下怎麼安裝,內容過長,我就不Ctrl CV了(主要是安裝簡單,成功並且完美地編譯難)

完美地反編譯出來難就難在微信小程序一直更新,但是編譯工具又是舊的

First,終於成功了,分享一波超詳細小程序源碼獲取方法——圖文!

如果想省事,安裝nodejs之後直接下載下面的鏈接的文件替換掉你的反編譯工具:

//gitee.com/Sao-operation/wxappUnpacker/repository/archive/master.zip

如果你只是樣式編譯出問題了(就是page的wxss都是空白的),那麼

  • 修改wxappUnpacker文件中的 wuWxss.js
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輸入:

    cd/d D:\wxappUnpacker
    

    cd D:\wxappUnpacker
    cd D:
    
  2. 第二步
    跳轉到反編譯腳本的根目錄之後,在電腦文件夾里找到wxapkg文件,例如wxapkg文件放在D盤,且文件名為_000000_1.wxapkg,則在node.js command pormpt輸入:

    node wuWxapkg.js -d D:\_000000_1.wxapkg
    

    再回車

  3. 第三步
    最後去找和.wxapkg文件相同路徑下的同名文件夾,該文件用微信開發者工具打開即可。

結論

反編譯…真香(我這是饞他的代碼嗎,我這是在學習研究)

參考資料

終於成功了,分享一波超詳細小程序源碼獲取方法——圖文:順毛驢_dedc

反編譯微信小程序錯誤: $gwx is not defined和__vd_version_info__ is not defined 已解決