# 前言
最近筆者有做到微信小程序的滲透測試,其中有一個環節就是對微信小程序的反編譯進行源碼分析,所謂微信小程序反編譯,就是將訪問的小程序進行反向編譯拿到部分源碼,然后對源碼進行安全審計,分析出其中可能存在的信息泄露或者說路徑等一些關鍵信息。
本文出自:【小白向】微信小程序解密&反編譯教程 - 極核GetShell (get-shell.com)
# 前期準備
- 微信PC客戶端
- 微信小程序反編譯工具:小錦哥小程序工具
# 演示視頻
小錦哥小程序工具演示
# 文本教程
首先需要確定微信小程序本地存放文件的路徑,一般為微信設置的文件管理路徑下,一般格式為:微信數據存放路徑\Wechat\WeChat Files\Applet
,比如我的微信數據設置在E:\Program_Data\Wechat
,那么我的微信小程序文件的存放路徑就是E:\Program_Data\Wechat\WeChat Files\Applet
。
如果你不確定你想反編譯的小程序究竟是哪一個,可以將這里面的文件夾全部刪除,然后重新訪問你想反編譯的小程序,那么應該會出現只有一個文件夾,那么這個文件夾就是你的目標。
從上圖可以看到很多類似于wx+隨機字符的文件夾
,這就是微信小程序的文件存放路徑。打開任意一個文件夾,一直翻到最里面,會發現類似于__APP__.wxapkg
這樣的文件,這個文件就是反編譯微信小程序的源碼所需要的關鍵文件。
將類似于__APP__.wxapkg
這樣的文件復制到任意路徑,然后打開小錦哥小程序工具,先對小程序包進行解密:將__APP__.wxapkg
放入解密工具,選擇好解密后保存的路徑,然后點擊開始解密后輸入這個小程序的ID,一般就是你將__APP__.wxapkg
這個文件拖出來的上一級,例如:wx14612994f885db6e
。如果提示無需解密,那就無視直接略過。
然后打開小錦哥小程序工具的反編譯包欄目,將解密后的__APP__.wxapkg
文件放入到解密工具,選擇好反編譯后保存的路徑,開始反編譯。注:反編譯需要安裝nodejs
然后在反編譯保存的路徑就可以看到反編譯后的文件夾了,里面就是微信小程序的前端源碼,你可以自行用微信小程序工具打開進行查看源碼,分析其中可能存在的信息泄露等信息!