爬小程序,抓取源碼


主要思路

  小程序運行時,會先下載資源再運行,拿到小程序的資源包后,通過反編譯程序,對微信壓縮后的包進行反編譯,即可還原大部分代碼。

  截至記錄當天,此方法未被微信修復。

1. 抓取源碼包 wxapkg

  點開小程序圖標的過程,微信就已經從遠端服務器下載其源文件到手機上了,原則上,手機本地已經有這個源文件了,只要有root權限或者越獄,能訪問到。沒有root權限的話,可以使用安卓模擬器。推薦使用 夜神,自帶root,附上地址:下載地址  

  開啟模擬器后,安裝微信、RE管理器( 用於訪問源文件 )。然后從設置里開啟: 超級用戶 => 右上角菜單設置 => 自動響應 => 允許

      

 

 

 隨后進入微信,點開小程序,運行一會兒后,用 RE管理器,找到一下位置文件

  根目錄/data/data/com.tencent.mm/MicroMsg/{ User}/appbrand/pkg/

{ User } 為一串16進制字符

 

 

將這些文件壓縮后,通過發送給微信好友 等方式分享出來,不走壓縮步驟的話,會提示獲取資源失敗。

微信在壓縮打包的時候會按照一定規則來,分包基本是單獨的一個 wxapkg 文件,包括一些 依賴。wxapkg 是微信自己的二進制文件,戳這里看大神解析 

 

2. 反編譯

  拿到 wxapkg 文件后,接下來就可以進行反編譯了。

  前提是 node 環境,clone 這個 git 資源 https://github.com/qwerty472123/wxappUnpacker ,在其目錄內安裝依賴  npm install 

    或

npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

 

  安裝完成后,執行命令行, node wuWxapkg.js [-d] <files…>

  [-d] <files…>  為 wxapkg 的資源位置,如: 

    node wuWxapkg.js d:\wxapp\resource\_1123949441_304.wxapkg

  執行后即可反編譯出程序源碼,編譯后的文件地址同 wxapkg 資源地址目錄

 

參考:兩步快速獲取小程序源碼

或  使用TBS爬取已經上線的微信小程序頁面    (未測)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM