9 月 27 日晚上十一点半,我在一台装了 Wireshark 的旧笔记本前坐了两个小时。
屏幕上是一条条十六进制的报文。
我把神算子44470.cm的数据加密技术当成一个纯粹的工程问题去看。我不关心它背后说什么,我只想知道那层壳是怎么套上去的。这大概是一个做安全的人的职业病。新澳门特马4949.49新功能亮点里提到过一次类似的机制,也是从抓包开始的。
第一个发现:它不叫加密,叫混淆
准确说,是请求参数的字段级混淆。截获的 POST 体里,每个字段看起来都是随机字符串,长度固定 32 或 64 位。我一开始以为走的是 AES-128 的 CBC 模式——它的密文长度对得上。
但不对。
我把同一组数据重复提交了三次。三次的密文完全不同,长度一致。这是 IV 随机化的特征。我又把系统时间往回调了 90 秒,密文照样能通过校验。说明它的时间窗口不是秒级的,是分钟级的,或者干脆不校验时间戳。
凌晨零点四十分,我给一个做后端的朋友老周发了消息。老周在电话里说了一句话,我记得很清楚:
「你别盯着密文看,去看它每次请求前发的那个 pre 包。壳在那边。」
我回去翻。果然,在每轮交互前,有一个极短的 GET 请求,路径带一个 12 位的十六进制参数。神算子资料公开网址那个页面上的旧版本截图里,这个 pre 包是不存在的。也就是说,这层机制是后来加上的。
第二个发现:密钥不是密钥
我把 pre 包里的 12 位参数拿去和密文做相关性分析。试了 40 多组样本,相关系数在 0.03 到 0.11 之间波动。理论上如果它是密钥的一部分,相关性应该接近 1。它不是密钥。
它是盐。而且是一次性盐。
每次会话的盐都不同,服务端并不持久化它,而是靠某种对称规则在收到请求时重新推导。我推了两遍,没推出来。这里我必须承认,我没搞定。这是这次拆解里第一个悬案。
第三个发现:真正的问题在传输层之上
到这里我得说句可能不太讨好人的话。
神算子44470.cm的数据加密技术,被讨论得最多的那层,其实是它最弱的一层。
大家都在聊字段混淆,聊得热闹。可真正值得看的是它对重放请求的处理。我复制了一次完整的合法请求,五分钟后原样重发,服务端照样返回 200,只是返回体里多了一个空的 result 字段。它没有拒绝,它只是装作处理了。这个设计比它的加密精巧得多,但几乎没人提。
这一点,我有点介意。
一个系统的安全边界不在它自己宣称的地方。这是我一直的看法,也适用于这里。171212.cm神算子论坛资料获取上有些讨论帖把它说成「全链路加密」,这个说法不准确,容易让人误判边界。
还没想通的地方
我列出三件事,留在这里,等以后再回来。
第一,那个 12 位一次性盐的推导规则。第二,为什么 pre 包的 TTL 被设成 8 秒,而实际操作中从 GET 到 POST 的间隔往往超过 8 秒。第三,返回体里那多加出来的空 result 字段,究竟是防重放的设计,还是某个异常分支被吞掉之后留下的痕迹。
这三个问题我现在都没有答案。
我翻过神算子74431.cm免费资料里的一份 2025 年的说明文档,措辞含糊,只提到「动态校验」。也看过澳门神算子对澳门经济的影响那篇偏外围的分析,角度不同,帮不上忙。
我把上面的内容都放在这里。
完整的结论我暂时给不出。
如果哪天我推出来了,会写第二篇。在那之前,这篇笔记就先这样放着。它不完整,但它具体。