news 2026/4/18 13:10:20

某尚读书参数逆向分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
某尚读书参数逆向分析

0x0 抓包初探:发现请求/响应数据加密

在对某尚读书 进行网络流量抓包分析时,发现所有请求参数返回内容均已被加密。

  • 目标:确定加解密函数的位置、算法、密钥和待加密数据。

  • 初步方法:使用Frida Hook目标 URL 处理函数,打印调用堆栈信息,以快速定位加密流程的入口点。

0x1 Frida Hook 定位加密函数入口

通过分析堆栈信息,Frida 脚本来 Hook 一个高度可疑的方法:[XXTEA + encryptToBase64String:stringKey:]

function hook_XXTEA_encryptToBase64Str(){ // 导入 Objective-C 框架 if (ObjC.available) { try { // 找到目标方法 const targetMethod = ObjC.classes['XXTEA']['+ encryptToBase64String:stringKey:']; // 挂钩方法 Interceptor.attach(targetMethod.implementation, { onEnter: function(args) { // 在方法进入时执行的代码 console.log('call XXTEA:encryptToBase64Str') var arg2 = args[2] if (targetMethod.argumentTypes[2] == "pointer"){ arg2 = ObjC.Object(arg2) } console.log("arg2:"+arg2); var arg3 = args[3] if (targetMethod.argumentTypes[3] == "pointer"){ arg3 = ObjC.Object(arg3) } console.log("arg3:"+arg3); }, onLeave: function(retval) { var ret = retval if (targetMethod.returnType == "pointer"){ ret = ObjC.Object(retval) } console.log(`XXTEA:encryptToBase64Str ret:` + ret) console.log('leave XXTEA:encryptToBase64Str') } }); }catch(err) { console.log(`[!] hook XXTEA:encryptToBase64Str Exception2: ` + err.message); } } } setImmediate(hook_XXTEA_encryptToBase64Str)

发现encryptToBase64String:stringKey:生成了加密的参数值,进一步查看ida伪代码

0x2 观察 Hook 结果与初步推测

执行 Hook 脚本并触发网络请求后,成功捕获到了加密函数调用的参数和返回值:

  • 待加密数据 (arg2):arg2:{length = 27, bytes = 0x7b226368 616e6e65 6c5f6b65 79223a31 ... 70616765 223a307d }(这是一个 JSON 结构的十六进制表示,即请求体明文:{"channel_key":1, ..., "page":0}

  • 密钥参数 (arg3):arg3:CIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQWvANhvD8hd/Hy8bH+t2XAg05i4lvwqVv8tn8Xk1eVGDZyK0kZhSVLoGZyMPSanFjvcqrl2xirkn3lsqzy6deBXxoop9S7cuROi2uOoSeMiOJO3aWTAQTrG4VsWbbY5jX8Oh0mn1dy5YaWsxl+UPQPvnzN50d17WVKIX81hho6wIDAQAB(一个标准的Base64 编码的 RSA 公钥格式字符串)

  • 加密结果 (ret):XXTEA:encryptToBase64Str ret:aX3R/fM6Zm/+1tdLTL+Uv1F9EOInITuGv0G9RPCT7vI=

初步推测:由于密钥参数arg3具有明显的 RSA 公钥特征,且函数名包含XXTEA,我们推测这里可能使用了混合加密机制(Hybrid Encryption):

  1. 数据加密:实际数据 (arg2) 使用XXTEA对称加密。

  2. 密钥保护:XXTEA 的对称密钥可能被 RSA 公钥 (arg3) 加密传输。

0x3 IDA Pro 静态分析:揭示真实密钥提取逻辑

为了确认 XXTEA 的实际密钥来源,使用 IDA Pro 对目标方法+ encryptToBase64String:stringKey:所在的二进制文件进行静态分析。

通过对汇编代码的跟踪,我们定位到以下关键代码片段:

__memcpy_chk(&v31, v8, objc_msgSend(v6, "length"), 16LL);
  • 分析结果:实际的 XXTEA 对称密钥并非整个arg3字符串,而是从arg3v8指向的 Key 字符串)中截取了前 16 个字节16LL)。

  • 最终结论:

    • 加密算法:XXTEA

    • 明文数据:arg2(JSON 请求体)

    • 加密密钥:arg3字符串的前 16 个字节

  • XXTEA decrypt:key

0x4 Python 复现策略:模拟客户端行为

成功定位并解析加解密算法(XXTEA)及密钥提取逻辑后,下一步是编写 Python 代码来模拟客户端的加解密行为,以便能够构造合法的请求并解析服务器的响应。

  1. 确定工具:使用 Python 语言,并引入相应的加解密库(如pyteax或自定义实现 XXTEA)。

  2. 密钥处理:在 Python 中,必须严格按照逆向分析的结果,从固定的 RSA 公钥字符串中截取前 16 字节作为 XXTEA 的密钥。

解密返回值

加密参数值

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 0:48:29

还在用无真实参考文献的AI写论文?8款AIGC率低至5%工具推荐!

还在为论文熬夜到凌晨,却发现AI生成的内容漏洞百出? 还在手动拼凑参考文献,却被导师一句“来源不实”打回原形? 还在为动辄30%、40%的AI检测率而提心吊胆,感觉努力全白费? 如果你对以上任何一个问题疯狂点头…

作者头像 李华
网站建设 2026/4/18 0:53:49

LobeChat能否实现AI炼金术士?古代化学知识与现代科学对照

LobeChat能否实现AI炼金术士?古代化学知识与现代科学对照 在人类探索自然的漫长历史中,炼金术曾是一种既神秘又充满哲思的实践。它不只是试图“点石成金”的荒诞幻想,更承载着古人对物质本质、宇宙秩序和生命转化的深刻追问。如今&#xff0c…

作者头像 李华
网站建设 2026/4/18 0:16:13

大模型Token按需购买:YOLO用户的福音

大模型Token按需购买:YOLO用户的福音 在智能制造车间的质检线上,一台AOI设备每秒拍摄数十张PCB板图像,传统部署模式下必须全天候运行昂贵的GPU服务器——即使夜间停工也照常计费。而在另一端,一家初创安防公司想用目标检测做智能监…

作者头像 李华
网站建设 2026/4/17 17:25:15

大模型Token机制在YOLO训练中的潜在价值

大模型Token机制在YOLO训练中的潜在价值 在工业质检线上,一台视觉检测设备正高速运行——摄像头每秒捕捉数十帧图像,系统需要实时判断产品是否存在划痕、缺件或装配错误。传统YOLO模型能快速框出异常区域,但面对“轻微磨损是否算缺陷”这类模…

作者头像 李华
网站建设 2026/4/18 0:49:34

基于单片机的非接触式防疫自动门系统设计【附代码】

📈 算法与建模 | 专注PLC、单片机毕业设计 ✨ 擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕业设计✅ 具体问题可以私信或查看文章底部二维码本系统旨在设计一个基于非接触式感应触发、…

作者头像 李华
网站建设 2026/4/18 2:25:53

基于单片机的智能鞋柜消毒与除湿系统设计【附代码】

📈 算法与建模 | 专注PLC、单片机毕业设计 ✨ 擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕业设计✅ 具体问题可以私信或查看文章底部二维码本系统旨在设计一个集成紫外线消毒、臭氧辅…

作者头像 李华