利用微信電腦最新版 反編譯微信小程序 無需root

1、前言

  你們都知道編寫一個微信小程序是很是漫長的,可是因爲現階段微信小程序存在反編譯的可能,因而我去github上找到一個反編譯工具(跳轉)這個工具其實很早就出來了,可是這個工具須要提取微信小程序的wxapkg文件,就是微信小程序編譯後的文件。最近發現電腦版微信能夠打開微信小程序了,因而我去找了微信打開小程序後生成的wxapkg文件,沒想到垂手可得的就拿到了wxapkg文件。下面爲簡單介紹下教程。php

2、簡單介紹下wxapkg

微信小程序通常是存在哪的?——毫無疑問固然是在雲端。css

微信如何運行小程序?——首先須要在雲端下載xxx.wxapkg文件到本地,再利用本地的一套機制運行起來。html

那麼如何才能在手機裏找到小程序的源文件包呢?node

  • 安卓具體目錄位置直接給出:
  • /data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/
  • 在這個目錄下,會發現一些 xxxxxxx.wxapkg 類型的文件,這些就是微信小程序的包
  • 此目錄是須要用戶root後從根目錄找出。

     電腦運行小程序後具體目錄:git

     C:\Users\{{電腦用戶名}}\Documents\WeChat Files\Applet\{{小程序AppID}}\{{隨機產生的數字}}\__APP__.wxapkggithub

     注:微信電腦版需是可運行小程序的版本。shell

微信小程序的格式就是:xxx.wxapkgnpm

  • xxx.wxapkg是一個二進制文件,有着其本身的一套結構。
  • 關於.wxapkg的詳細內容能夠參考lrdcq大神的博文:微信小程序源碼閱讀筆記

 

3、環境搭建

  1. node.js運行環境 下載地址  若是沒有安裝nodejs,請先安裝一下json

  2. 反編譯的腳本。 下載地址這裏提供一個Githubqwerty472123大神寫的node.js版本小程序

  3. 安卓模擬器(也可用真機需root)獲取wxapkg請看4-5步, 新pc版微信(推薦此步驟),請看6步。

  4. 安卓模擬器(要求自帶root權限)下載地址自行百度,可使用的是夜神模擬器,雷電等模擬器(自帶root),用來獲取小程序源文件

  5. RE管理器、MT管理器或者x-plore 賦予root權限下載地址自行百度 到時候要拖到模擬器中的,進入"/data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/"目錄根據小程序第一次打開時間找到對應wxapkg

  6. 我用的是微信2.7內測版,手機分享小程序給電腦版打開小程序,找到"C:\Users\{{電腦用戶名}}\Documents\WeChat Files\Applet\{{小程序AppID}}\{{隨機產生的數字}}\__APP__.wxapkg" 通常小程序和分包都會在。

 

4、詳細過程(以pc版微信爲例)

  分享給電腦版微信小程序

  

 

  點擊打開

   

 

  導出wxapkg

   

 

  獲取到wxapkg後

  將其拷貝到某一路徑下,在此路徑下按住Shift鍵,同時鼠標點擊右鍵選擇在此處打開Powershell窗口如圖

 

  在node命令窗口中依次安裝以下依賴:

    npm install esprima
    npm install css-tree
    npm install cssbeautify
    npm install vm2
    npm install uglify-es
    npm install js-beautify
    npm install escodegen

  安裝完成以後會出現node_modules文件夾這是運行wxapkg反編譯腳本的必備環境

  

  下面輸入命令node wuWxapkg.js <wxapkg目錄>以下

    

   運行後,若是不出現錯誤,基本就能夠在微信開發者工具打開

   

 

 

  反編譯腳本就能一步將.wxapkg 文件還原爲微信開發者工具可以運行的源文件,目錄地址和你反編譯的文件地址是同樣的 而後在微信開發者工具新增導入項目便可打開

  運行成功,源碼獲取完成

   

5、結束語

  現階段的wxapkg,即微信編譯後的可執行文件,在我我的眼裏,加密力度是不夠的,雖然在對咱們學生黨來講是學習的交流的好手段,可是在社會上運做,仍是存在着巨大的安全隱患,隨着科技的發展,相信不久,這一方法將會失效,因此趁如今還有學習的機會,能夠去搞。

  上線的源代碼能如此簡單的被獲取到,不得不說小程序的源碼安全存在很大的隱患,這一點不少開發者應該也知道,因此發現有些小程序會將重要的js邏輯代碼柔在一個js文件中,這樣,即便被獲取了源碼,也不是很容易讀懂,可是任然避免不了被窺視的問題。

  實際上,小程序只是很簡單的將圖片、js和json文件壓在一塊兒,而壓制的過程就是Wxml -> Html、 Wxml -> JS、Wxss -> Css,轉換後文件二進制格式跟後綴名爲wx二進制格式徹底一致。

 

 

 

   註明:此文章爲Rakers原創文章,僅供學習交流,切勿用於違法行爲

原文出處:https://www.cnblogs.com/Rakers1024/p/11482725.html

相關文章
相關標籤/搜索