光辉的确定有限自动机: 05-05 23:29:23 0x52, 0x7F, 0x7B, 0x73,...
创建于:2026年5月5日
使用 GPT-5.5 Thinking 回答 Chat01
创建于:2026年5月5日
使用 GPT-5.5 Thinking 回答 Chat01
光辉的确定有限自动机: 05-05 23:29:23
0x52, 0x7F, 0x7B, 0x73, 0x78, 0x65, 0x7F, 0x79, 0x78, 0x77, 0x7A, 0x49, 0x45, 0x7A, 0x77, 0x65, 0x7E, 0xB7
光辉的确定有限自动机: 05-05 23:29:38
逐字节映射
光辉的确定有限自动机: 05-05 23:29:47
用纯misc的方法能不能解
pythondata=[0x52,0x7F,0x7B,0x73,0x78,0x65,0x7F,0x79,0x78,0x77,0x7A,0x49,0x45,0x7A,0x77,0x65,0x7E,0xB7] print(len(data), bytes(data)) print('chars', ''.join(chr(b) if 32<=b<127 else '.' for b in data)) # xor single byte keys that produce printable last maybe import string printable=set(bytes(string.printable,'ascii')) cands=[] for k in range(256): out=bytes([b^k for b in data]) if all(32<=c<127 for c in out[:-1]): # allow last? cands.append((k,out)) len(cands), cands[:20] (52, [(2, b'P}yqzg}{zuxKGxug|\xb5'), (3, b'Q|xp{f|z{tyJFytf}\xb4'), (9, b'[vrzqlvpq~s@Ls~lw\xbe'), (10, b'Xuqyrousr}pCOp}ot\xbd'), (11, b'Ytpxsntrs|qBNq|nu\xbc'), (13, b'_rv~uhrtuzwDHwzhs\xba'), (14, b'\\qu}vkqwvytGKtykp\xb9'), (15, b']pt|wjpvwxuFJuxjq\xb8'), (16, b'BokchuoihgjYUjgun\xa7'), (17, b'CnjbitnhifkXTkfto\xa6'), (18, b'@miajwmkjeh[Whewl\xa5'), (19, b'Alh`kvljkdiZVidvm\xa4'), (20, b'Fkoglqkmlcn]Qncqj\xa3'), (21, b'Gjnfmpjlmbo\\Pobpk\xa2'), (22, b'Dimensional_Slash\xa1'), (23, b'Ehldorhno`m^Rm`ri\xa0'), (24, b'Jgck`}ga`obQ]bo}f\xaf'), (25, b'Kfbja|f`ancP\\cn|g\xae'), (27, b'Id`hc~dbclaR^al~e\xac'), (28, b'NcgodycedkfUYfkyb\xab')])
pythondata=[0x52,0x7F,0x7B,0x73,0x78,0x65,0x7F,0x79,0x78,0x77,0x7A,0x49,0x45,0x7A,0x77,0x65,0x7E,0xB7] out=[(b & 0x7f)^0x16 for b in data] print(bytes(out), ''.join(map(chr,out))) for b,c in zip(data,out): print(f"{b:#04x} -> {b&0x7f:#04x} xor 0x16 = {c:#04x} {chr(c)!r}")
能,纯 misc 就能解,不需要真的去分析 DFA。
核心映射是:
pythonchr((byte & 0x7f) ^ 0x16)
也就是每个字节先清掉最高位,再异或 0x16。
逐字节结果:
text0x52 -> D 0x7F -> i 0x7B -> m 0x73 -> e 0x78 -> n 0x65 -> s 0x7F -> i 0x79 -> o 0x78 -> n 0x77 -> a 0x7A -> l 0x49 -> _ 0x45 -> S 0x7A -> l 0x77 -> a 0x65 -> s 0x7E -> h 0xB7 -> !
解出来是:
textDimensional_Slash!
最后一个 0xB7 比较关键:
0xB7 & 0x7f = 0x37,然后 0x37 ^ 0x16 = 0x21,也就是 !。
如果题目需要 flag 格式,大概率填:
textflag{Dimensional_Slash!}
所以这题的“逐字节映射”提示基本就是让你从单字节变换入手,暴力 XOR / 清高位即可。