贝店福利里面的萌宠游戏逆向
在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可以用
最后发现,本地没有做什么校验,都是服务端做的。所以没能做啥加快游戏进程