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

微信小程式 反編譯

反編譯處於技術學習角度,瞻仰大神程式碼。

使用工具

  1.  node
  2.  mumu安卓模擬器


獲取小程式檔案

  1. 小程式的程式碼壓縮之後 會形成一個字尾為 wxapkg 的檔案,下載到微信客戶端
  2. 開啟mumu模擬器,安裝微信登入之後,開啟步步換小程式 ,這時客戶端已經下載了小程式的二進位制檔案,
  3.  檔案路徑為 /data/data/com.tencent.mm/MicroMsg/{{一串32位的16進位制字串資料夾}}/appbrand/pkg/
  4. 可能會有多個包,分別為小程式的主包和分包。一起復制到mumu模擬器的共享資料夾中,這樣pc端就拿到了小程式的二進位制檔案

 

小程式檔案解析

    1. 獲取的檔案無法直接開啟,有網友通過閱讀微信解壓小程式的程式碼,編寫了同樣解壓邏輯的node專案,來做第一步解析 https://github.com/qwerty472123/wxappUnpacker
    2. 該工具在解析步步換小程式時,解壓檔案之後,在生成相關原始碼 wxml,wxss,wcss,json 時會報錯,原因是步步換使用了 外掛,元件,導致,需在 wxappUnpacker 程式碼上 新增部分邏輯,去除外掛程式碼和元件程式碼的干擾。之後對 wxml,wxss,wcss,json 單獨解析,就可以獲取到全部的原始碼。