论坛首页 漏洞分析研究区 阅读主题

[原创]某书x-xx-mua算法分析

148 浏览 12 回复
#1 楼主 2026-06-01 21:09:17


---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288413.htm
#2 2026-06-01 21:09:17
佬牛逼
#3 2026-06-01 21:09:17
感谢分享
#4 2026-06-01 21:09:17
学习大佬
#5 2026-06-01 21:09:17
感谢分享
#6 2026-06-01 21:09:17
tql
#7 2026-06-01 21:09:17
tql
#8 2026-06-01 21:09:17
tql
#9 2026-06-01 21:09:17
tql
#10 2026-06-01 21:09:17
感谢分享
#11 2026-06-01 21:09:17
感谢
#12 2026-06-01 21:09:17
对于 Chomper 调用,你说的遇到 std::string 崩溃,我怀疑是因为你没做初始化。如果你是从 TITiny::signWithMethod:url:payload: 调用的,那你需要先调用 TiTiny::initializeWithOptions: 进行初始化(当然,在进行初始化时,因为环境问题,需要 hook 绕过几个函数),如果初始化完成,TITiny::signWithMethod:url:payload: 应该会直接有结果不需要额外处理。
x-mini-s1 的话,它是一个 VMP 加密,但是反而有更好的调用点。也是一个初始化函数和一个加密入口,都是 C 函数,其中初始化函数不需要任何参数直接调用就行,加密入口实际上有 5 个参数(如果不是,那可能你找的位置并不是最终的入口),分别是:加密字符串、加密字符串长度、接收结果的缓存区指针、缓存区长度、接收结果实际长度的指针,构造好参数调用也是直接有结果(但还有一点要注意,x-mini-s1 的加密会依赖一个全局变量 sign_count,作用是记录加密次数)。
#13 2026-06-01 21:09:17
sh4w


对于 Chomper 调用,你说的遇到 std::string 崩溃,我怀疑是因为你没做初始化。如果你是从 TITiny::signWithMethod:url:payload: 调用的,那你需要先调 ...

如果那两个16字节的全局变量算法就是随机数与私钥计算得来的且没其他妖蛾子,mua其实已经可以手搓实现了,s1的地址应该是对的,一共11个参数,4个字符串和一个接受结果的x8,大佬说s1是vmp我都想放弃了,注定trace不出结果,加密次数难道是STLXR这个指令对应的那个地址?看起来不太像..

请登录后参与讨论

立即登录 注册账号