CubeGame

Abstract

  • Category : misc
  • Related knowledge : png, qrcode, text encrypt
  • Type : Graphic

Description

  • 某人一直想出一个关于 Minecraft 的 CTF 题,结果搞了半天发现根本出不了。于是他只好大开脑洞……

Problem

Cube Game QRcode
(Jeffxx已補齊左上角)

Procedure

透過軟體辨識 QRcode 後
可以得到另一張圖
Minecraft
圖片內容的暗示不太明顯
但稍後解題會有所關連
原圖檔後面塞了一個7z檔
把該 7z 檔擷取出來並解壓縮
便得到一個 plain text
內容示意如下:

(0, 0) = 0000000000000000
(0, 1) = 0000000000000000
(0, 2) = 0000000000000000
(0, 3) = 0000000000000000
(0, 4) = 0000000000000000
(0, 5) = 0000000000000000
(0, 6) = 0000000000000000
(0, 7) = 0000000000000000
(0, 8) = 0000000000000000
(0, 9) = 0000000000000000
(0, 10) = 000000F03FFF0000
(0, 11) = 0000000000000000
(0, 12) = 0000000000000000
(0, 13) = 0000000000000000
(0, 14) = 0000000000000000
(0, 15) = 0000000000000000
(0, 16) = 0000000000000000
(0, 17) = 0000000000000000
(0, 18) = 0000001E7FFE0000
.......
(63, 63) = 0000000000000000

將 data 以 y 軸為主重新排序後並且轉為二進制
可以得到許多 0,1 組成的 QRcode(左上缺角) 和 barcode (共64組)
把補齊後的 QRcode 和 barcode 解碼 :

---
0: 1n
1: EASY
2: ACTF{
3: h!t
4: f0r
5: kizunair0
6: ni
7: hapPy
8: clover
9: C0u1d
10: niko
11: 1s
12: maker
13: heAvEn
14: l0VE
15: tHe
16: MODE
17: D0NT
18: I
19: Dreaming
20: H0ur
21: caN
22: kasugan0
23: WAR
24: C
25: 000020
26: SeE
27: wr0ng
28: duNgeOn
29: rinrinrin
30: lEt
31: 000046
32: 0nCe
33: 000018
34: p1ay
35: A
36: pr0b1em
37: s0
38: 000004
39: 1t
40: cut1e
41: pantHER
42: ha1ati0n
43: IS
44: teN
45: sn0w
46: PPC
47: Once
48: practicE
49: 000052
50: 000021
51: sp1ash
52: eIgHt
53: 000034
54: UP
55: mag!c
56: p1ck
57: Gir1s
58: 000002
59: me
60: nico
61: t0
62: s0ra
63: ArutrHChan

此時我猜測 barcode 解出來的數字代表會用到的字串 (因為包含了 ACTF{ )
得出以下幾個重要字串

H0ur PPC I f0r eIgHt caN p1ay ACTF{

重新排列組合並補上'}'就是 flag 了

ACTF{IcaNp1ayPPCf0reIgHtH0ur}