知識 分享 互助 懶人建站

    懶人建站專注于網頁素材下載,提供網站模板、網頁設計、ps素材、圖片素材等,服務于【個人站長】【網頁設計師】和【web開發從業者】的代碼素材與設計素材網站。

    懶人建站提供網頁素材下載、網站模板
    知識 分享 互助!

    微信小程序源碼提取反編譯

    作者:不吃魚的貓 2018-09-21 人氣:
    微信小程序源碼提取反編譯,聽起來很屌,其實還是簡單的,基本是傻瓜式操作。要想拿到微信小程序源碼,找到源文件在手機存放的位置就行,源文件拿到,用反編譯腳本跑一下,微信小程序代碼包里的所有文件、所有資源就出來了(除了project.config.json小程序配置文件)

    一、前言

    微信小程序源碼提取反編譯,聽起來很屌,其實還是簡單的,基本是傻瓜式操作。要想拿到微信小程序源碼,找到源文件在手機存放的位置就行,源文件拿到,用反編譯腳本跑一下,微信小程序代碼包里的所有文件、所有資源就出來了(除了project.config.json小程序配置文件)。拿到源碼后,跑起來是能跑,但登錄、授權等涉及到appid的功能是不能用的,因為被反編譯小程序的服務端appid和你本地添加的不一樣,這就是為啥拉下來的源碼沒有project.config.json文件的原因,項目中appid是配置在這個文件里,這里一定程度上保護原小程序。

    二、所需工具

    1.夜神模擬器

    地址:夜神模擬器

    用來找尋微信小程序源文件,真機當然也可以,但麻煩,又是root權限,又是越獄的,夜神模擬器方便,直接在設置里就可以設置超級用戶權限,超級權限拿到,就可以為所欲為了,通過下面這個RE文件管理器看到微信小程序源文件。

    2.RE文件管理器(拖到模擬器內自動安裝)

    地址:RE

    用來找尋微信小程序源文件,官方沒改動的話,應該會在這么個路徑下,/data/data/com.tencent.mm/MicroMsg/.../appbrand/pkg/,路徑中有一段...,這里表示不確定具體一個,反正就在這個MicroMsg下的其中一個文件夾,緊接著會看到appbrand文件夾,如果這樣那就找到位置了。

    3.nodejs運行環境

    地址:nodejs

    反編譯腳本所需運行環境

    4.反編譯腳本

    地址:wxappUnpacker

     用來反編譯微信小程序源文件,把源代碼給編譯出來,這是GitHub上一位大神的杰作,找到了這個比較好用的,其他版本自尋。

    三、開始搞事情

    1. 安裝好夜神模擬器后,并將在電腦下載好的RE文件管理器拖到模擬器內安裝。

    2. 打開手機設置->找到超級用戶->右上角三個小點點擊一下,設置->點擊‘超級用戶訪問權限’,選擇‘僅限于應用’,這樣超級用戶權限就拿到了。

    01.png

    3. 打開微信,沒有的在應用市場下載就行,打開想反編譯的微信小程序,小程序打開后,可以切換到RE文件管理器去找源文件了。

    • 這里有一個機制,當點開一個微信小程序,如果本地這個文件夾下找到即將運行的小程序,會從微信服務器下載到本地,在以后的某個時刻又運行這個小程序,運行時,微信服務器會通知有沒有小程序新版本,如有新版本,會在后臺靜默下載,小程序繼續運行,新版本要到下一次運行才會啟用,這就是微信小程序的更新機制。

    4. 打開RE文件管理器,從更目錄開始,/data/data/com.tencent.mm/MicroMsg/.../appbrand/pkg/,找到源文件后,長按->點擊右上角三個小點,打開菜單,選擇‘壓縮所選文件’->完成后,點擊查看->長按,還是右上角,將壓縮包從模擬器發送出來到電腦上,方式多種,隨意。

    02.png

    4. 上面找到源文件并把源文件拉出來,從GitHub下載反編譯文件后,在桌面就有了這樣的文件夾結構

    nimi-yuan這個文件夾下這里放的是微信小程序源文件

    03.png

    lib這個文件夾下放的是反編譯腳本

    04.png

    5. 進入到lib文件夾下,右鍵,在這里打開命令行窗口,將這幾句命令跑一下

    • npm install esprima

    • npm install css-tree

    • npm install cssbeautify

    • npm install vm2

    • npm install uglify-es

    • npm install js-beautify

    • npm install escodegen

    05.png

    • 最后使用這個命令進行反編譯源文件:node wuWxapkg.js filepath,例如我的是:node wuWxapkg.js C:UserszwDesktopfanbianyimini-yuan\_1034625975_4.wxapkg,反編譯過程過如遇到拋出缺少某個文件的提示,用npm install filename再次跑一下就行(filename為拋出缺少文件名)。

    6. 反編譯完成,用node wuWxapkg.js filepath執行成功后

    06.png

    查看反編譯成功后的文件夾,源碼中除了project.config.json這個配置文件,其他的都有。

    07.png

    四、結語

    至此微信小程序的反編譯過程就結束了,學會之后,欣喜若狂,一頓操作猛如虎,拉了兩個小程序源碼后,心生一種罪惡感。這種反編譯方法很簡單,由此可見微信小程序源碼的安全性不好,過不久估計就不能這么干了,漏洞終究會被填補的。

    技術交流QQ群:4188479

    原文:https://blog.csdn.net/Im_Telling_You/article/details/82797979  作者:大雄

    ↓ 查看全文

    微信小程序源碼提取反編譯由懶人建站收集整理,您可以自由傳播,請主動帶上本文鏈接

    懶人建站就是免費分享,覺得有用就多來支持一下,沒有能幫到您,懶人也只能表示遺憾,希望有一天能幫到您。

    微信小程序源碼提取反編譯-最新評論

    福利彩票排列7走势图