在android下的包路徑爲/data/data/com.tencent.mm/MicroMsg/{UserId}/appbrand/pkg/
如果包較多 可以先刪除 再下載 排個序即可
https://github.com/qwerty472123/wxappUnpacker
然後在這個頁面解包
需要先安裝node 並且安裝如下module
npm install esprima -g
npm install css-tree -g
npm install cssbeautify -g
npm install vm2 -g
npm install uglify-es -g
npm install js-beautify -g
npm install escodegen -g
設置代理
npm config set proxy=http://127.0.0.1:8087
npm config set registry=http://registry.npmjs.org
npm config set https-proxy http://server:port
運行反編譯
node wuWxapkg.js C:\Users\xxx\Desktop\unpacker\ sft.wxapkg
出現vd_version_info is not defined
wuWxss.jss找到這個函數,替換成這個代碼試試
function runOnce() {
for (let name in runList) {
// console.log(name, runList[name]);
var start = `var window = window || {}; var __pageFrameStartTime__ = Date.now(); var __webviewId__; var __wxAppCode__={}; var __mainPageFrameReady__ = function(){}; var __WXML_GLOBAL__={entrys:{},defines:{},modules:{},ops:[],wxs_nf_init:undefined,total_ops:0}; var __vd_version_info__=__vd_version_info__||{};
$gwx=function(path,global){
if(typeof global === 'undefined') global={};if(typeof __WXML_GLOBAL__ === 'undefined') {__WXML_GLOBAL__={};
}__WXML_GLOBAL__.modules = __WXML_GLOBAL__.modules || {};
}`;
runVM(name, start + " \r\n" + runList[name]);
}
}
然後導入到微信開發者平臺即可
在右上角的詳情裏面可以不校驗合法域名 webview域名 tls域名
如果要添加 點擊右上角測試號 然後登陸進去添加即可
添加成功後 在ide右上角詳情 域名信息中刷新一下即可
後面發現css出不來 換成下面這個工具解包這個就行
https://github.com/gudqs7/wxappUnpacker
發現不知道怎麼動態改js代碼,解包小程序也只能看看裏面的邏輯
後來只能抓包
但是在android7.0以上,app可以設置只信任系統證書,所以在由root的前提下,我們將證書導入到系統目錄下
證書hash值是sha1的值
系統證書的目錄是:/system/etc/security/cacerts/
每個證書的命名規則爲:<Certificate_Hash>.<Number>
證書的hash值可以由命令計算出來,在終端輸入openssl x509 -subject_hash_old -in <Certificate_File>
但是我發現在windows8.1上要用openssl x509 -subject_hash -in <Certificate_File>這個命令
而且我發現只有charles可以用
最後發現,本地沒有做什麼校驗,都是服務端做的。所以沒能做啥加快遊戲進程