[原创]某书x-xx-mua算法分析
148 浏览
12 回复
---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288413.htm
佬牛逼
感谢分享
学习大佬
感谢分享
tql
tql
tql
tql
感谢分享
感谢
对于 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,作用是记录加密次数)。
x-mini-s1 的话,它是一个 VMP 加密,但是反而有更好的调用点。也是一个初始化函数和一个加密入口,都是 C 函数,其中初始化函数不需要任何参数直接调用就行,加密入口实际上有 5 个参数(如果不是,那可能你找的位置并不是最终的入口),分别是:加密字符串、加密字符串长度、接收结果的缓存区指针、缓存区长度、接收结果实际长度的指针,构造好参数调用也是直接有结果(但还有一点要注意,x-mini-s1 的加密会依赖一个全局变量 sign_count,作用是记录加密次数)。
sh4w
对于 Chomper 调用,你说的遇到 std::string 崩溃,我怀疑是因为你没做初始化。如果你是从 TITiny::signWithMethod:url:payload: 调用的,那你需要先调 ...
如果那两个16字节的全局变量算法就是随机数与私钥计算得来的且没其他妖蛾子,mua其实已经可以手搓实现了,s1的地址应该是对的,一共11个参数,4个字符串和一个接受结果的x8,大佬说s1是vmp我都想放弃了,注定trace不出结果,加密次数难道是STLXR这个指令对应的那个地址?看起来不太像..
对于 Chomper 调用,你说的遇到 std::string 崩溃,我怀疑是因为你没做初始化。如果你是从 TITiny::signWithMethod:url:payload: 调用的,那你需要先调 ...
如果那两个16字节的全局变量算法就是随机数与私钥计算得来的且没其他妖蛾子,mua其实已经可以手搓实现了,s1的地址应该是对的,一共11个参数,4个字符串和一个接受结果的x8,大佬说s1是vmp我都想放弃了,注定trace不出结果,加密次数难道是STLXR这个指令对应的那个地址?看起来不太像..