node.js獲取微信小程序代碼

node.js獲取微信小程序代碼

注意:本博客僅供學習交流參考,請不要用於商業交易。謝謝

前言:本來是想用python來爬微信小程序的源碼,但是網上大部分的教程都是用node.js來進行獲取,故而參照多個版本的教程結合之後成功獲取了源碼。
總體思路:首先要獲取小程序本地源文件,然後用qq將獲取的原文件發送到電腦上解壓,然後用node.js反編譯代碼還原爲源代碼。

獲取微信本地源文件思路:

1、微信小程序都是放在微信的服務器上,當我們第一次使用小程序時,手機會從微信服務器下載源文件保存下來,因此我們需要找到原文件存放的地址。但是如果使用自己手機來獲取的話,會比較麻煩,因此選擇手機模擬器來進行。這裏推薦夜神模擬器,我試過用海馬模擬器來進行,但是應用中心好像沒有微信。

2、具體位置(以安卓手機爲例):
/data/data/com.tencent.mm/MicroMsg/{一串16進制字符}/appbrand/pkg/
在上面目錄下可以看到.wxapkg文件,這些就是小程序的原文件。使用模擬器可以進行訪問,但是需要切換成超級用戶模式。當你去訪問這些文件時,模擬器會提示你切換倒也方便。如果出現權限問題也可以使用RE文件管理器,下載RE之後直接拖入模擬器中自動安裝。

3、反編譯成可執行的原文件
網上的教程裏面都是用了一個大神寫的node.js,但是我去下載的時候已經沒有了。我就在github上另外找了一個反編譯程序

步驟:

1、夜神模擬器:https://www.yeshen.com/
在這裏插入圖片描述
安裝夜神模擬器之後,安裝QQ,微信。
通過文件管理器進入,
/data/data/com.tencent.mm/MicroMsg/{一串16進制字符}/appbrand/pkg/
在上面目錄下可以看到.wxapkg文件,這些就是小程序的原文件。使用模擬器可以進行訪問,但是需要切換成超級用戶模式。
在這裏插入圖片描述
在這裏插入圖片描述
然後長擊鼠標左鍵壓縮文件,通過QQ將文件發送到我的電腦中。
在這裏插入圖片描述

2、node.js安裝與配置 地址:https://nodejs.org/en/download/
在這裏插入圖片描述
安裝就不說了,基本就是按照它的提示安裝,自定義安裝請隨意。
環境配置:
此處的環境配置主要配置的是 npm 安裝的全局模塊所在的路徑,以及緩存cache的路徑,之所以要配置,是因爲以後在執行類似:npm install express [-g] (後面的可選參數-g,g代表global全局安裝的意思)的安裝語句時,會將安裝的模塊安裝到【C:\Users\用戶名\AppData\Roaming\npm】路徑中,佔C盤空間。我們希望能方便的找到安裝的包和緩存並減少C盤負擔。
1、安裝目錄下創建兩個文件夾【node_global】及【node_cache】,如圖:
在這裏插入圖片描述
2、打開cmd,鍵入下面代碼
npm config set prefix 「上面創建文件夾的路徑\node_global」
  npm config set cache 「上面創建文件夾的路徑\node_cache」
我的配置:
在這裏插入圖片描述

3、環境配置
右擊我的電腦->屬性->高級系統設置->環境變量
在系統變量中新建添加【NODE_PATH】,我的路徑是【F:\Software\nodejs\node_global\node_modules】
在這裏插入圖片描述
在用戶變量【Path】中以\npm結尾的路徑改爲【F:\Software\nodejs\node_global】
在這裏插入圖片描述
到此,環境配置完成。可以用npm install express -g等命令安裝全局包,然後去上述所建文件中查看是否存在。

在這裏插入圖片描述

3、反編譯程序 :https://github.com/ZhangZhongren/wxapkg
1、下載,解壓之後,打開cmd。
2、cd 到解壓之後的文件夾,我的位置
在這裏插入圖片描述
3、安裝依賴
npm install esprima

npm install css-tree

npm install cssbeautify

npm install vm2

npm install uglify-es

npm install js-beautify

4、反編譯原文件
node wuWxapkg.js -d zzzz.wxapkg
zzzz.wxapkg就是你模擬器下載的小程序文件。

但是這裏報了錯:
在這裏插入圖片描述
在這裏插入圖片描述
然後依次運行下面兩條語句之後再重新運行反編譯代碼

npm i --save-dev escodegen

npm install cheerio -save

運行結果:
在這裏插入圖片描述
然後在你運行的文件夾下可以看到如下文件夾。裏面就是微信小程序的源代碼。
在這裏插入圖片描述