[๐Ÿฅ‰ Bronze 2] FAT32 ๋ถ€ํŠธ์„นํ„ฐ๋ฅผ ์ฝ์–ด ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ณ„์‚ฐํ•˜๋‹ค โ€” DreamHack VBR ํ’€์ด

2026-07-15ยท1๋ถ„ ์ฝ๊ธฐยท

[๐Ÿฅ‰ Bronze 2] FAT32 ๋ถ€ํŠธ์„นํ„ฐ๋ฅผ ์ฝ์–ด ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ณ„์‚ฐํ•˜๋‹ค โ€” DreamHack VBR ํ’€์ด

512๋ฐ”์ดํŠธ์งœ๋ฆฌ VBR(๋ณผ๋ฅจ ๋ถ€ํŠธ ๋ ˆ์ฝ”๋“œ) ํ•˜๋‚˜๊ฐ€ ์ „๋ถ€์ธ ํฌ๋ Œ์‹ ๋ฌธ์ œ. ํ”Œ๋ž˜๊ทธ๋Š” ํŒŒ์ผ์— ๋ฐ•ํ˜€ ์žˆ์ง€ ์•Š๊ณ , ๋ถ€ํŠธ์„นํ„ฐ ํ•„๋“œ์—์„œ ๊ณ„์‚ฐํ•ด์•ผ ํ•œ๋‹ค. ํŒŒ์ผ์‹œ์Šคํ…œ ์ข…๋ฅ˜(FAT32โ†’1), ๋ณผ๋ฅจ ํฌ๊ธฐ(์ด ์„นํ„ฐร—์„นํ„ฐ๋‹น ๋ฐ”์ดํŠธ), ๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ๋ฅผ ๊ฐ ์˜คํ”„์…‹์—์„œ ์ฝ์–ด ๋”ํ•˜๋ฉด ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋‚˜์˜จ๋‹ค.

๋ฌธ์ œ: DreamHack โ€” VBR ๋ถ„๋ฅ˜: Forensics ๋‚œ์ด๋„: ๐Ÿฅ‰ Bronze 2 FLAG: DH{2343104139}

512๋ฐ”์ดํŠธ์งœ๋ฆฌ VBR(Volume Boot Record) ํŒŒ์ผ ํ•˜๋‚˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ฌธ์ž์—ด๋กœ ๋ฐ•ํ˜€ ์žˆ์ง„ ์•Š๋‹ค. ๋Œ€์‹  ๋ฌธ์ œ๋Š” ๋ถ€ํŠธ์„นํ„ฐ์˜ ํŠน์ • ํ•„๋“œ๋“ค์„ ์ฝ์–ด ์ง์ ‘ ๊ณ„์‚ฐํ•˜๋ผ๊ณ  ํ•œ๋‹ค.

VBR ์˜ ์„ธ ํ•„๋“œ โ€” ํŒŒ์ผ์‹œ์Šคํ…œยท๋ณผ๋ฅจํฌ๊ธฐยท์‹œ๋ฆฌ์–ผ์„ ์ฝ์–ด A+B+C ๋กœ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค
VBR ์˜ ์„ธ ํ•„๋“œ โ€” ํŒŒ์ผ์‹œ์Šคํ…œยท๋ณผ๋ฅจํฌ๊ธฐยท์‹œ๋ฆฌ์–ผ์„ ์ฝ์–ด A+B+C ๋กœ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค


๋ฌธ์ œ ๊ฐœ์š”

ํ•ญ๋ชฉ๋‚ด์šฉ
๋ฌธ์ œ๋ช…VBR
๋‚œ์ด๋„๐Ÿฅ‰ Bronze 2
๋ถ„๋ฅ˜Forensics
์ œ๊ณต ํŒŒ์ผvbr.bin (512๋ฐ”์ดํŠธ FAT32 ๋ถ€ํŠธ์„นํ„ฐ)
๊ณ„์‚ฐ์‹FLAG = DH{(A + B + C)} (์‹ญ์ง„์ˆ˜)

๋ฌธ์ œ๊ฐ€ ์ •์˜ํ•˜๋Š” ์„ธ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • A: ํŒŒ์ผ์‹œ์Šคํ…œ์ด FAT32๋ฉด 1, NTFS๋ฉด 2
  • B: ํ•ด๋‹น ๋ณผ๋ฅจ์˜ ํฌ๊ธฐ
  • C: ๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ


๐Ÿงฑ ๋ฐฐ๊ฒฝ โ€” VBR ๊ณผ FAT32 ๋ถ€ํŠธ์„นํ„ฐ

VBR(Volume Boot Record)์€ ํŒŒํ‹ฐ์…˜(๋ณผ๋ฅจ)์˜ ์ฒซ ๋ฒˆ์งธ ์„นํ„ฐ๋กœ, ๋ถ€ํŒ… ์ฝ”๋“œ์™€ ํ•จ๊ป˜ BPB(BIOS Parameter Block) ๋ฅผ ๋‹ด๋Š”๋‹ค. BPB์—๋Š” ์„นํ„ฐ ํฌ๊ธฐ, ํด๋Ÿฌ์Šคํ„ฐ๋‹น ์„นํ„ฐ ์ˆ˜, ์ด ์„นํ„ฐ ์ˆ˜, ํŒŒ์ผ์‹œ์Šคํ…œ ์ข…๋ฅ˜, ๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ ๊ฐ™์€ ๋ณผ๋ฅจ์˜ ๊ธฐํ•˜ํ•™์  ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ๊ณ ์ • ์˜คํ”„์…‹์— ๋“ค์–ด ์žˆ๋‹ค. ํฌ๋ Œ์‹์—์„œ ๋””์Šคํฌ ์ด๋ฏธ์ง€๋ฅผ ํ•ด์„ํ•  ๋•Œ ๊ฐ€์žฅ ๋จผ์ € ์ฝ๋Š” ๊ตฌ์กฐ๋‹ค.

FAT32 ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ตฌ์กฐ โ€” ๋””๋ ‰ํ„ฐ๋ฆฌ ์—”ํŠธ๋ฆฌ ๋ฐ”์ดํŠธ ๋ ˆ์ด์•„์›ƒ๊ณผ FAT ํด๋Ÿฌ์Šคํ„ฐ ์ฒด์ธ
FAT32 ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ตฌ์กฐ โ€” ๋””๋ ‰ํ„ฐ๋ฆฌ ์—”ํŠธ๋ฆฌ ๋ฐ”์ดํŠธ ๋ ˆ์ด์•„์›ƒ๊ณผ FAT ํด๋Ÿฌ์Šคํ„ฐ ์ฒด์ธ

์ถœ์ฒ˜: Wikimedia Commons (File:Fat32_structure.svg), CC BY-SA 3.0, ์ €์ž‘์ž MrDrBob. ์œ„ ๊ทธ๋ฆผ์€ ๋””๋ ‰ํ„ฐ๋ฆฌ ์—”ํŠธ๋ฆฌ์™€ FAT ์ฒด์ธ์ด๊ณ , VBR์€ ๋ณผ๋ฅจ ๋งจ ์•ž์— ๋†“์ด๋Š” ๋ถ€ํŠธ์„นํ„ฐ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ฝ์„ ํ•„๋“œ์˜ ์˜คํ”„์…‹์€ FAT32 ๊ทœ๊ฒฉ์— ๊ณ ์ •๋ผ ์žˆ๋‹ค.

์˜คํ”„์…‹ํฌ๊ธฐํ•„๋“œ
0x0B2Bytes per Sector (์„นํ„ฐ๋‹น ๋ฐ”์ดํŠธ)
0x204Total Sectors (์ด ์„นํ„ฐ ์ˆ˜, 32๋น„ํŠธ)
0x434Volume Serial Number (๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ)
0x528File System Type ("FAT32 ")

๐Ÿ”ฌ ์ •์ฐฐ โ€” ํ—ฅ์Šค๋คํ”„๋กœ ํ•„๋“œ ํ™•์ธ

vbr.bin์„ ํ—ฅ์Šค๋กœ ์—ด๋ฉด ํ‘œ์ค€ Windows FAT32 ๋ถ€ํŠธ์„นํ„ฐ์ž„์ด ๋ฐ”๋กœ ๋ณด์ธ๋‹ค. MSDOS5.0 OEM ์ด๋ฆ„, NO NAME, FAT32, BOOTMGR ๋ฌธ์ž์—ด์ด ๊ทธ๋Œ€๋กœ ์žˆ๋‹ค.

xxd -l 80 vbr.bin

xxd ๋กœ ๋ณธ VBR ํ—ค๋” โ€” ์„นํ„ฐ๋‹น ๋ฐ”์ดํŠธ, ์ด ์„นํ„ฐ ์ˆ˜, ๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ ํ•„๋“œ๊ฐ€ ๋ณด์ธ๋‹ค
xxd ๋กœ ๋ณธ VBR ํ—ค๋” โ€” ์„นํ„ฐ๋‹น ๋ฐ”์ดํŠธ, ์ด ์„นํ„ฐ ์ˆ˜, ๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ ํ•„๋“œ๊ฐ€ ๋ณด์ธ๋‹ค

๊ฐ ํ•„๋“œ๋ฅผ ๋ฆฌํ‹€ ์—”๋””์–ธ์œผ๋กœ ์ฝ๋Š”๋‹ค.

  • 0x0B: 00 02 โ†’ 0x0200 = 512 (์„นํ„ฐ๋‹น ๋ฐ”์ดํŠธ)
  • 0x20: 00 80 3E 00 โ†’ 0x003E8000 = 4096000 (์ด ์„นํ„ฐ ์ˆ˜)
  • 0x43: 8A EE A8 0E โ†’ 0x0EA8EE8A = 245952138 (๋ณผ๋ฅจ ์‹œ๋ฆฌ์–ผ)
  • 0x52: FAT32 โ†’ ํŒŒ์ผ์‹œ์Šคํ…œ์€ FAT32

โš ๏ธ ์ฐธ๊ณ ๋กœ 0x120 ๋ถ€๊ทผ์— ๋ณด์ด๋Š” 66 58 66 58 โ€ฆ("fXfXfXfX")์€ ํ”Œ๋ž˜๊ทธ์ฒ˜๋Ÿผ ์ƒ๊ฒผ์ง€๋งŒ ํ•จ์ •์ด๋‹ค. 66 58์€ x86 ๋ช…๋ น pop eax(operand-size prefix + 58)๋กœ, ์Šคํƒ์„ ์ •๋ฆฌํ•˜๋Š” ์ •์ƒ ๋ถ€ํŠธ ์ฝ”๋“œ์ผ ๋ฟ์ด๋‹ค.



๐Ÿ’ฃ ํ•ต์‹ฌ โ€” "๋ณผ๋ฅจ์˜ ํฌ๊ธฐ" ๋Š” ๋ฐ”์ดํŠธ ๋‹จ์œ„

๊ฐ€์žฅ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๊ฐ’์€ B(๋ณผ๋ฅจ ํฌ๊ธฐ) ๋‹ค. ์ด ์„นํ„ฐ ์ˆ˜ ์ž์ฒด๋ฅผ ์“ฐ๋Š”์ง€, ๋ฐ”์ดํŠธ๋กœ ํ™˜์‚ฐํ•˜๋Š”์ง€ ์• ๋งคํ•˜๋‹ค. "ํฌ๊ธฐ(size)"๋ผ๋Š” ํ‘œํ˜„์€ ๋ฐ”์ดํŠธ๋ฅผ ๋œปํ•˜๋ฏ€๋กœ,

B = ์ด ์„นํ„ฐ ์ˆ˜ ร— ์„นํ„ฐ๋‹น ๋ฐ”์ดํŠธ
  = 4096000 ร— 512
  = 2097152000  (= 0x7D000000)

๋กœ ๊ณ„์‚ฐํ•œ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ์ •์˜ ๊ทธ๋Œ€๋กœ๋‹ค. A = 1(FAT32), C = 0x0EA8EE8A = 245952138. ์„ธ ๊ฐ’์„ ์‹ญ์ง„์ˆ˜๋กœ ๋”ํ•œ๋‹ค.

A + B + C = 1 + 2097152000 + 245952138 = 2343104139

๐ŸŽฏ ํ’€์ด โ€” ํ•„๋“œ๋ฅผ ํŒŒ์‹ฑํ•ด ํ•ฉ์‚ฐ

# solve.py
import struct
d = open("vbr.bin", "rb").read()
bps     = struct.unpack_from("<H", d, 0x0b)[0]   # bytes per sector
sectors = struct.unpack_from("<I", d, 0x20)[0]   # total sectors (32bit)
serial  = struct.unpack_from("<I", d, 0x43)[0]   # volume serial number
A = 1                                            # FAT32 -> 1
B = sectors * bps                                # ๋ณผ๋ฅจ ํฌ๊ธฐ (๋ฐ”์ดํŠธ)
C = serial
print(f"A(FAT32)=1  B(size)={B} (0x{B:x})  C(serial)=0x{serial:x}={serial}")
print(f"FLAG: DH{{{A + B + C}}}")

solve.py ์‹คํ–‰ โ€” VBR ํ•„๋“œ๋ฅผ ํŒŒ์‹ฑํ•ด A+B+C ๋กœ ๊ณ„์‚ฐํ•œ ํ”Œ๋ž˜๊ทธ
solve.py ์‹คํ–‰ โ€” VBR ํ•„๋“œ๋ฅผ ํŒŒ์‹ฑํ•ด A+B+C ๋กœ ๊ณ„์‚ฐํ•œ ํ”Œ๋ž˜๊ทธ

์„ธ ๊ฐ’์„ ๋”ํ•˜๋ฉด 2343104139, ์ด๊ฒƒ์ด ํ”Œ๋ž˜๊ทธ์˜ ๋‚ด์šฉ์ด๋‹ค.

FLAG: DH{2343104139}



๐Ÿ“ ๊ฒฐ๋ก 

ํฌ๋ Œ์‹์˜ ๋‹ต์€ ํŒŒ์ผ ์•ˆ์ด ์•„๋‹ˆ๋ผ ๊ตฌ์กฐ ์•ˆ์— ์žˆ๋‹ค.

์ด ๋ฌธ์ œ์˜ ํ”Œ๋ž˜๊ทธ๋Š” ์–ด๋””์—๋„ ๋ฌธ์ž์—ด๋กœ ์ ํ˜€ ์žˆ์ง€ ์•Š๋‹ค. ๋ถ€ํŠธ์„นํ„ฐ์˜ ๊ณ ์ • ์˜คํ”„์…‹์—์„œ ๊ฐ’์„ ์ฝ์–ด ๊ณ„์‚ฐํ•ด์•ผ ๋‚˜์˜จ๋‹ค. ํŒŒ์ผ์‹œ์Šคํ…œ ๊ตฌ์กฐ๋ฅผ ์•Œ๊ณ , ํ•„๋“œ๊ฐ€ ์–ด๋””์— ์–ด๋–ค ์—”๋””์–ธ์œผ๋กœ ๋“ค์–ด ์žˆ๋Š”์ง€ ์•„๋Š” ๊ฒƒ์ด ๊ณง ์‹ค๋ ฅ์ด๋‹ค.

"๊ทธ๋Ÿด๋“ฏํ•œ ํ•จ์ •"์— ์†์ง€ ๋ง ๊ฒƒ.

fXfXfXfX์ฒ˜๋Ÿผ ํ”Œ๋ž˜๊ทธ๋ฅผ ํ‰๋‚ด ๋‚ธ ๋ฐ”์ดํŠธ ํŒจํ„ด์€ ์‚ฌ์‹ค ์ •์ƒ ๋ถ€ํŠธ ์ฝ”๋“œ์˜€๋‹ค. ํ—ฅ์Šค์—์„œ ๋ˆˆ์— ๋„๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์„ ๋•Œ, ๊ทธ๊ฒŒ ๋ฐ์ดํ„ฐ์ธ์ง€ ์ฝ”๋“œ์ธ์ง€ ๊ตฌ๋ถ„ํ•˜๋ ค๋ฉด ๋ฌธ๋งฅ(์—ฌ๊ธฐ์„œ๋Š” x86 ๋””์Šค์–ด์…ˆ๋ธ”)์„ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค. ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๋ฉด ํ•จ์ •๊ณผ ์ •๋‹ต์ด ๋ช…ํ™•ํžˆ ๊ฐˆ๋ฆฐ๋‹ค.

์ด ๊ธ€์ด ๋„์›€์ด ๋๋‚˜์š”?

Comments

๋Œ“๊ธ€

0๊ฐœ

๋Œ“๊ธ€์„ ๋‚จ๊ธฐ๋ ค๋ฉด ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ด์š”. (๋„ค์ด๋ฒ„ ยท ๊ตฌ๊ธ€ ๊ณ„์ •)

๋Œ“๊ธ€ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์ค‘โ€ฆ

Related

๊ด€๋ จ ๊ธ€

3๊ฐœ
[๐Ÿฅ‰ Bronze 4] ๋ฐ˜ํˆฌ๋ช… ๋ง์น ์€ ์ง€์šฐ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋‹ค โ€” DreamHack QR Code ํ’€์ด
blog

[๐Ÿฅ‰ Bronze 4] ๋ฐ˜ํˆฌ๋ช… ๋ง์น ์€ ์ง€์šฐ๊ฐœ๊ฐ€ ์•„๋‹ˆ๋‹ค โ€” DreamHack QR Code ํ’€์ด

QR ์ฝ”๋“œ ์œ„์— ๊ฒ€์€ ๋‚™์„œ๊ฐ€ ๋ฎ์—ฌ ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ํ”ฝ์…€๊ฐ’์ด ์—ด ์ข…๋ฅ˜๋ฐ–์— ์—†๊ณ  255, 63, 16, 4, 1 ์ด๋ผ๋Š” ๋“ฑ๋น„ ์‚ฌ์Šฌ์„ ์ด๋ฃฌ๋‹ค. ์•ŒํŒŒ 75% ๊ฒ€์ •์„ ๊ฒน์น  ๋•Œ๋งˆ๋‹ค ๋ฐ‘์˜ ๋ฐ๊ธฐ๊ฐ€ 1/4 ์”ฉ๋งŒ ๋‚จ์€ ํ”์ ์ด๋‹ค. "ํ”ฝ์…€๊ฐ’์ด 0๋ณด๋‹ค ํฌ๋ฉด ํฐ ๋ชจ๋“ˆ" ํ•œ ์ค„๋กœ 29x29 ๊ฒฉ์ž๋ฅผ ๋˜์‚ด๋ฆฌ๊ณ , ์žฌ์ธ์ฝ”๋”ฉ๋ณธ๊ณผ 841์นธ ์ „์ˆ˜ ๋Œ€์กฐ๊นŒ์ง€ ํ–ˆ๋‹ค.
#dreamhack#ctf#misc+5
2026-08-22#dreamhack +3
[๐Ÿฅ‰ Bronze 2] 6523๊ฐœ CAN ํ”„๋ ˆ์ž„ ์ค‘ ํŠ€๋Š” ํ•˜๋‚˜ โ€” DreamHack Read My Car ํ’€์ด
blog

[๐Ÿฅ‰ Bronze 2] 6523๊ฐœ CAN ํ”„๋ ˆ์ž„ ์ค‘ ํŠ€๋Š” ํ•˜๋‚˜ โ€” DreamHack Read My Car ํ’€์ด

์ •๋น„์†Œ์—์„œ ๋ฐ›์•„์˜จ ์ฐจ๋Ÿ‰ ์ฃผํ–‰ ๋กœ๊ทธ๋ผ๋ฉฐ candump ํŒŒ์ผ ํ•˜๋‚˜๋งŒ ์ค€๋‹ค. ์—ด์–ด ๋ณด๋ฉด 1953๊ฐ€์ง€ CAN ID๊ฐ€ ๋’ค์„ž์ธ ๋‚œ์ˆ˜ ๋ฉ์–ด๋ฆฌ์ธ๋ฐ, ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์„ธ๋ฉด ๋”ฑ ํ•˜๋‚˜๋งŒ ๋‹ค๋ฅธ ID๋“ค๋ณด๋‹ค 4๋ฐฐ ๋„˜๊ฒŒ ํŠ„๋‹ค. ๊ทธ ID์˜ ํŽ˜์ด๋กœ๋“œ๋ฅผ ASCII๋กœ ์ฝ์œผ๋ฉด flag๊ฐ€ ๋‚˜์˜จ๋‹ค.
#dreamhack#ctf#misc+5
2026-07-24#dreamhack +3
[๐Ÿฅ‰ Bronze 1] LSB์—” ์—†๋‹ค, ์ฃผํŒŒ์ˆ˜์— ์žˆ๋‹ค โ€” DreamHack Audio Steganography ํ’€์ด
blog

[๐Ÿฅ‰ Bronze 1] LSB์—” ์—†๋‹ค, ์ฃผํŒŒ์ˆ˜์— ์žˆ๋‹ค โ€” DreamHack Audio Steganography ํ’€์ด

6์ดˆ์งœ๋ฆฌ WAV ํŒŒ์ผ ํ•˜๋‚˜๊ฐ€ ์ „๋ถ€์ธ ํฌ๋ Œ์‹ ๋ฌธ์ œ. ์˜ค๋””์˜ค ์Šคํ…Œ๊ฐ€๋…ธ๊ทธ๋ž˜ํ”ผ๋ผ๊ณ  ํ•˜๋ฉด ๋ฐ˜์‚ฌ์ ์œผ๋กœ LSB(์ตœํ•˜์œ„ ๋น„ํŠธ)๋ถ€ํ„ฐ ๋ฝ‘์•„๋ณด๊ฒŒ ๋˜๋Š”๋ฐ, ๊ทธ๋ ‡๊ฒŒ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋Š” ๊ทธ๋ƒฅ ์žก์Œ์ด๋‹ค. "์ด์ƒํ•œ ์†Œ๋ฆฌ๊ฐ€ ๋‚˜์š”"๋ผ๋Š” ๋ฌธ์ œ ์„ค๋ช…์„ ๋‹ค์‹œ ์ฝ๊ณ  ์ŠคํŽ™ํŠธ๋กœ๊ทธ๋žจ์„ ์ฐ์–ด๋ณด๋ฉด, ์ฃผํŒŒ์ˆ˜ ์˜์—ญ์— flag ๋ฌธ์ž์—ด์ด ๊ธ€์ž ๋ชจ์–‘ ๊ทธ๋Œ€๋กœ ๊ทธ๋ ค์ ธ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ๋น„ํŠธ์— ์ˆจ๊ธด ๊ฒŒ ์•„๋‹ˆ๋ผ ์ง„ํญ์„ ๋ถ“ ์‚ผ์•„ ๊ทธ๋ฆผ์„ ๊ทธ๋ฆฐ, Aphex Twin๋ฅ˜ ์ŠคํŽ™ํŠธ๋กœ๊ทธ๋žจ ์•„ํŠธ๋‹ค.
#dreamhack#ctf#forensics+4
2026-07-20#dreamhack +3