逆向某音,header头参数问题

最近在逆向学习,某音的时候,把HTTPBody算法还原了,大致就是data Godzip一下 然后再通过魔改AES和sha512等操作加密而成。
然而当我分析header头的时候, 却看到了个比较有意思的事情。
跟到 [TTHttpTaskChromium resume]的时候。
header头里面 是没有 x-gorgon x-argus 等参数的。只有cookie user-agent等

然而 charles 里面抓包却包含这些参数

并且 hook [TTHttpRequestChromium setValue:forHTTPHeaderField:]
也只能看见 cookie 和 user-agent 并没有 x-gorgon x-argus这些参数。
怀疑这几个参数是在 C中 被加上去的。但是我跟到resume之后就跟不下去了。


这里有个engin是一个结构体, 而且里面很复杂,也包含了带有network
reques等 字样的属性。 但是ida跟进去也看不出啥东西。所以就停滞了。

想问问有没有什么思路能 定位一下具体位置。

考虑找一下字符串?
之前搞过一个swift的应用看不明白,但是通过字符串找到一些拼接了但是没输出的log

字符串 也找过了 搜不到,估计是被加密了。

那字典的初始化或者设置值?

我试试

还是没有 :laughing: 不过还是感谢大佬给的建议,谢谢:pray:

没太明白,你不是算法都还原了,怎么算法调用的位置没找到

由于以下原因,很难找到调用算法的位置(我也在尝试找出这些头文件的加密运作方式):

  • 加密头文件是在特定的、无法追踪的函数中逐一生成的。例如,我尝试追踪X-Khronos值在内存中的首次记录源,但不知为何,Frida的Thread.backtrace只显示一个地址,无法追溯更多。可追踪的地方很少,例如X-Argus值在被编码为base64之前的值,是通过一系列故意破坏过程的指令寻找的,因此用反汇编器很难读懂。此外,所有指针都是加密的,在加载之前会对它们执行大约十个加密指令。
  • 加密头文件随后会组装成一个字典,该字典会与请求的头文件一起组装。要访问它们的值,需要通过从堆栈迭代其他指针的循环来实现,这些指针则指向键和值。

因为所有这些,很难找到这些值的制作地点。如果有人有新消息或进展,请告诉我!

如果您想要找到决定是否将这些加密头文件添加到请求头中的位置,请寻找对-[TTNetworkManager addSecurityFactorBlock] 函数的调用。

这算是一个入口吗?我决定尝试一下

它以前是在resume之后才加进去的,安全策略嘛,肯定要隐藏的更深一些.找到了加密位置,里面while循环无数层还嵌套调用的,靠自己一个人闲暇时间研究玩玩,要搞出来这几个数据,怎么也得小半年吧 :joy:,要一天天净搞这个,得高血压了

1 个赞