HumidiFi 交换指令数据混淆: - 就地基于 XOR 的流密码。 - 对称(f(f(x)) = x),并在 64 位块上操作。 算法: - 以 8 字节(u64)块处理数据。 - 对于每个块: -- 与静态 `HUMIDIFI_IX_DATA_KEY` 进行 XOR: [58, 255, 47, 255, 226, 186, 235, 195, 123, 131, 245, 8, 11, 233, 132, 219, 225, 40, 79, 119, 169, 121, 169, 58, 197, 1, 122, 9, 216, 164, 149, 97][0..7]; -- 与滚动的 `pos_mask` 进行 XOR(从 0 开始,每个块递增 0x0001_0001_0001_0001)。 - 剩余处理(如果 len % 8 != 0): - 将剩余字节填充为 64 位。 - 应用相同的 XOR(密钥 + 当前 pos_mask)。 - 将有效字节复制回原始切片。 输入布局(去混淆后): - 字节 0-7: `swap_id` (u64) - 字节 8-15: `amount_in` (u64) - 字节 16: `is_base_to_quote` (u8) - 字节 17-23:填充 - 字节 24:选择器(在反序列化之前弹出)