摘自个人印象笔记,图不完整可查看原笔记:https://app.yinxiang.com/fx/c021af2d-9b6f-42fc-af05-71cf7c929e1c
CrackMinApp:https://github.com/Cherrison/CrackMinApp,注意要将CrackMinApp/nodejs/nodejs/node_modules.zip解压到当前目录。
将wxapkg文件放到CrackMinApp/wxapkg目录下,用UI进行反编译操作。
如果使用UI无法反编译,可用命令行执行: node .\wuWxapkg.js {wxapkg目录及文件名称全路径}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W1YPGeGV-1691719083037)(en-resource://database/1454:1)]
wxappUnpacker:原仓库已被删除,这是别人fork的:https://github.com/system-cpu/wxappUnpacker
在wxappUnpacker目录中,执行以下命令安装依赖:
npm install
npm install esprima
npm install css-tree
npm install cssbeautify
npm install vm2
npm install uglify-es
npm install js-beautify
然后执行反编译:node .\wuWxapkg.js {wxapkg目录及文件名称全路径}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MrF8eIXU-1691719083037)(en-resource://database/1456:1)]
function _typeof2(o) {
"@babel/helpers - typeof";
return (_typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
return typeof o;
} : function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
})(o);
}
function _typeof(o) {
return "function" == typeof Symbol && "symbol" === _typeof2(Symbol.iterator) ? module.exports = _typeof = function (o) {
return _typeof2(o);
} : module.exports = _typeof = function (o) {
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : _typeof2(o);
}, _typeof(o);
}
module.exports = _typeof;
首先是登录之后的响应结构:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Uhl5aWek-1691719083038)(en-resource://database/1460:1)]
然后是wxindexgetusergroup请求,请求参数为:
{"openid":"ov4ns0Fzl49k2gyMVqBfWPHQzZiw","search_key":"1684309087552048_2933883850","action_type":3,"start_ymd":"20230513","end_ymd":"20230517","offset":0,"limit":20}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9p0vVd6u-1691719083039)(en-resource://database/1462:1)]
wxawebreport接口,参数:{“openid”:“ov4ns0Fzl49k2gyMVqBfWPHQzZiw”,“search_key”:“1684309087552048_2933883850”,“cgi_name”:“WxIndexComm”,“clientversion”:0,“device”:2,“item_list”:[{“logid”:22549,“log_buffer”:“,0,0,0”},{“logid”:22549,“log_buffer”:“,0,0,9”}]}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXEl925T-1691719083040)(en-resource://database/1464:1)]
关键的查询接口:
https://search.weixin.qq.com/cgi-bin/wxaweb/wxindex,请求参数:
{
"openid": "ov4ns0Fzl49k2gyMVqBfWPHQzZiw",
"search_key": "1684389050025923_2103581176",
"cgi_name": "GetMultiChannel",
"query": ["儿童节"],
"start_ymd": "20210422",
"end_ymd": "20230518"
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cB1coK7k-1691719083041)(en-resource://database/1466:1)]
打开xcx,会检查用户是否登录,没有登录则重复登录4次,这里直接在检查登录时返回一个登录成功的对象,阻止其登录:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jlRgxhxu-1691719083041)(en-resource://database/1458:1)]
关于登录这块的设计,见我另外一篇文章:一次成功的wx指数接口调用,一次失败的wx指数接口调用