美团小程序 mtgsig1.2 拼好饭案例 分析 mtgsig

声明
本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
逆向分析

美团网页、小程序、app全是指纹检测。app的只会补老版本的,新版本一直初始化失败4096。直接放弃先了补补基础。小程序和app都差不多都是云函数都需要hook。我这个是"a6":"w1.3开头的。w1.2之后在分析。

cp = execjs.compile(open('phf.js', 'r', encoding='utf-8').read())
result = cp.call('getMtgsig',data,openId,page)
mtgsig = result['header']['mtgsig']
print(mtgsig)
headers = {
    "Accept": "*/*",
    "Accept-Language": "zh-CN,zh;q=0.9",
    "Connection": "keep-alive",
    "Content-Type": "application/x-www-form-urlencoded",
    "Referer": "",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "cross-site",
    "User-Agent": "",
    "X-Requested-With": "XMLHttpRequest",
    "content-personalized-switch": "0",
    "csecuserid": "",
    "swimlane;": "",
    "wm-user-id-deregistration": "-1",
    "wm-uuid-deregistration": "-1",
    "x-env": "online",
    "xweb_xhr": "1"
}
url = "v1/search/detail"
params = {
    "ui": "",
    "region_id": "",
}
data = {
    "loc_addr_name": "",
    "page_size": "20",
    "page_num": "0",
    "keyword": "饺子",
    "rc_app": "4",
    "rc_platform": "13",
    "optimusCode": "20",
    "riskLevel": "71",
    "partner": "4",
    "waimai_sign": "/"
}
response = requests.post(url, headers=headers, params=params, data=data)

print(response.text)
print(response)

结果

挺多坑的,我就不细说了。

总结

  1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

### 美团 mtgsig 逆向工程分析方法 #### H5guard.js 文件中的 Mtgsig 参数解析 为了理解美团的 `mtgsig` 参数是如何生成的,可以从 `H5guard.js` 文件入手。该文件包含了生成 `mtgsig` 所需的关键函数和逻辑[^2]。 ```javascript // 示例代码片段来自 H5guard.js function generateMtgsig(timestamp, envCode) { let y = calculateYValue(); // 计算 y 值 (即最终的 mtgsig.a6) let m = hashFunction(timestamp, y, envCode); // 关键中间值 m 的计算 return finalizeSignature(m); } ``` 此代码展示了如何通过时间戳、环境编码以及其他内部参数来构建签名字符串。其中,`calculateYValue()` 函数负责生成特定版本下的 `y` 值,而 `hashFunction()` 则用于创建基于这些输入的数据摘要形式——这便是所谓的 “m”。 #### 使用工具辅助分析过程 对于此类 JavaScript 加密机制的研究工作来说,通常会借助一些静态分析器或调试工具来进行更细致入微的操作: - **JADX**: 能够反编译 APK 并查看其原始字节码; - **Frida/Objection Frameworks**: 动态注入脚本到运行的应用程序实例中以监控 API 请求及其负载; - **Burp Suite Professional Edition**: 抓取并修改 HTTPS 流量以便于研究 HTTP(S) 协议层面的安全措施。 #### 反推 F 值的过程 由于关键中间值 `m` 主要依赖于时间戳 `i` 和 `y(mtgsig.a6)` 进行计算,并且这两个因素都会反映在最后得到的结果里,因此可以根据已知条件尝试还原出未知变量 `f`(环境编码)[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wx a15018601872

wx a15018601872

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值