题目内容:Notice that there are 3 “R”s in the title too...

Tạo vào: 31 tháng 10, 2026

Trả lời bằng GPT-6 Thinking bởi Chat01

Câu hỏi

vmshare_6d3416fb746f85cad8020e41571f8b7b.zip

题目内容:Notice that there are 3 “R”s in the title too :(解flag

Trả lời

我先检查压缩包里的题目文件,再结合提示 “标题里也有 3 个 R” 分析解题思路,争取直接还原出 flag。

Suy nghĩ

Assessing cipher recovery

I’m modeling the construction as two independent 28-bit seeds feeding eight rounds each across 16 SIMD lanes. A straightforward joint search is too large, so I’m weighing meet-in-the-middle, lane collisions, reverse transformations, and SAT-style solving.

Assessed cipher recovery

Suy nghĩ

Refining the attack

I’m favoring a specialized meet-in-the-middle approach over direct SAT solving. Each lane uses invertible 16-bit operations with shared round keys, so multiple known lanes may recover the seed efficiently; optimized native code seems practical.

Refined the attack

Suy nghĩ

Optimizing memory use

I’m adapting the meet-in-the-middle design to a 4 GB, five-core limit. A compact two-lane signature plus packed seeds fits, while sorting or a bitset-based lookup can avoid excessive hash-table overhead; extra lanes then filter candidates.

Planning the implementation

I’m comparing compact hash tables, bitsets, and packed sorting under the memory limit. Collision handling stays lightweight, while candidate verification uses additional lanes; benchmarking the exact generator and transforms will guide the practical choice.

Spotting a key flaw

I’m noticing the seed is masked to 24 bits, not 28, so each seven-digit value loses its leading hexadecimal digit. A two-lane table now needs about 16 million entries; a third lane can verify candidates, but the original prefixes remain unknowable.

Optimized memory use, planned implementation, and identified a key flaw

Suy nghĩ

Reverse-engineered encryptor and verified candidate flag via optimized solver

Worked for 2m 50s

Trả lời

已从压缩包中提取出 encryptor 和 cipher.bin,确认这是一道逆向密码学 CTF 题。

程序要求的 flag 格式为:

flag{XXXXXXX_YYYYYYY}

其中两段各有 7 位十六进制字符。逆向还发现一个关键问题:加密器只使用每段数字的低 24 位,因此最高一位不会影响加密结果。这意味着密文可能对应多个等价 flag。

已验证与密文完全一致

flag{0174812_01AF718} [复制]

验证结果: 使用原始 encryptor 对该 flag 重新加密,生成的 32 字节与题目 cipher.bin 完全相同。

解法是逆向 SIMD 运算,再使用中间相遇攻击(Meet-in-the-Middle)恢复两组有效密钥:

  • 第一组:0x174812
  • 第二组:0x1AF718

注意: 由于最高十六进制位被程序忽略,共有 256 个 flag 会生成相同密文。因此这个答案已通过加密验证,但不能保证就是平台保存的原始 flag。

下载 C++ 求解源码

Chia sẻ Q&A này