迷雾验证 250 3276 solves 一台神秘终端等待你的输入,你的输入会被终端经过未知逻辑处...

创建于:2026年5月6日

使用 GPT-5.5 Thinking 回答 Chat01

问题

attachment-8.apk

迷雾验证
250
3276 solves

一台神秘终端等待你的输入,你的输入会被终端经过未知逻辑处理生成内部密文。只有推理出整体处理规律,才能恢复正确的密钥并通过验证。

附件下载

Flag
提交

思考

bash -lc python3 - <<'PY' import base64 base='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' b64key='testkey-04' shift=sum(map(ord,b64key)) & 0x3f alphabet=base[shift:]+base[:shift] print('shift', shift, 'alphabet', alphabet) target='qPr7iwu44b6728c5b945128270539' seg1,seg2,seg3=target[:7],target[7:19],target[19:] print(seg1,seg2,seg3)

custom b64 encode no padding with alphabet

def custom_b64_encode(data, alphabet): val=0; valb=-6; out=[] for c in data: val=(val<<8)|c valb += 8 while valb >=0: out.append(alphabet[(val>>valb)&0x3f]) valb -= 6 if valb > -6: out.append(alphabet[((val<<8)>>(valb+8))&0x3f]) return ''.join(out)

decode no padding

rev={c:i for i,c in enumerate(alphabet)} def custom_b64_decode(s): val=0; valb=-8; out=[] for ch in s: val=(val<<6)|rev[ch] valb += 6 if valb >=0: out.append((val>>valb)&0xff) valb -= 8 return bytes(out) first=custom_b64_decode(seg1) print('first', first, custom_b64_encode(first,alphabet))

def rc4(data,key): S=list(range(256)); j=0; key=list(key) for i in range(256): j=(j+S[i]+key[i%len(key)])&0xff S[i],S[j]=S[j],S[i] out=[]; i=j=0 for byte in data: i=(i+1)&0xff j=(j+S[i])&0xff S[i],S[j]=S[j],S[i] K=S[(S[i]+S[j])&0xff] out.append(byte^K) return bytes(out) rc4key=b'tsrqponml' second=rc4(bytes.fromhex(seg2), rc4key) print('second', second) xorkey=b'ubby`fwaa' third=bytes([b ^ xorkey[i%len(xorkey)] for i,b in enumerate(bytes.fromhex(seg3))]) print('third', third) inner=(first+second+third).decode() flag='ISCC{'+inner+'}' print('inner', inner) print('flag', flag)

verify encryption

def to_hex(b): return b.hex() def enc_inner(s): b=s.encode() part1=custom_b64_encode(b[:5],alphabet) part2=to_hex(rc4(b[5:11],rc4key)) part3=to_hex(bytes([x^xorkey[i%len(xorkey)] for i,x in enumerate(b[11:])])) return part1+part2+part3 print(enc_inner(inner), enc_inner(inner)==target) print('len', len(flag)) PY

Thought for 5m 1s

回答

提交这个:

text
ISCC{CTa!eUh"{rv$JE|Y}

关键还原点:

  • assets/bin.data 经 AES/CBC 解出:testkey-04
  • native 硬编码目标密文:qPr7iwu44b6728c5b945128270539
  • encrypt_full 将大括号内内容分成 5 + 6 + 剩余 三段:
    • 前 5 字节:自定义 Base64
    • 中 6 字节:RC4 后转 hex,key 为 tsrqponml
    • 剩余:XOR 后转 hex,key 为 ubby\fwaa`
  • 反解得到大括号内为:
text
CTa!eUh"{rv$JE|Y

分享这个问答