Dream Hack write-up(1)

BigTreeยท2023๋…„ 3์›” 30์ผ
0
post-thumbnail

ICM2022

๐Ÿ‡LEVEL 1 : Crypto

๋ฌธ์ œ ์ •๋ณด
Integral Cipher Master 2022 ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ flag๋ฅผ ์•”ํ˜ธํ™” ํ•œ๊ฒƒ๊ฐ™์€๋ฐโ€ฆ
๋ณตํ˜ธํ™” ํ• ๋•Œ ์ค‘์š”ํ•œ ํ‚ค์™€ ๋ณตํ˜ธํ™” ์ฝ”๋“œ๋ฅผ ์‹ค์ˆ˜๋กœ ์ง€์›Œ๋ฒ„๋ ธ์–ด์š”
์•”ํ˜ธํ™” ๋œ flag๋ฅผ ๋‹ค์‹œ ๋ณตํ˜ธํ™” ํ•ด์ฃผ์„ธ์š”!

readme
n = 3
key 1 = #cencored#
key 2 = 95
q = -200640142664324295933714
p = #cencored# (p is number)


if you get the p(decrypted q)
plz enter the p in the DH{here}

# ๋ฌธ์ œ ์ฝ”๋“œ 
def enc(p, n, key1, key2):
    q = (Fraction(p, n+1)*key1**(n+1)) - (Fraction(p, n+1)*key2**(n+1))
    print("[OK] plain is encrypted : ", q)
    return q


def dec(q):
    a = 0


def key_make():
    n, key1, key2 = 0, 1, 0
    while key2 < key1:
        n = random.randrange(1, 10)
        key1 = random.randrange(1, 100)
        key2 = random.randrange(1, 100)
    return n, key1, key2

enc ํ•จ์ˆ˜์— ๋”ฐ๋ฅด๋ฉด p๊ฐ’์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

p=qร—(n+1)key1(n+1)โˆ’key2(n+1)p = \frac{q\times(n+1)}{key1^{(n+1)}-key2^{(n+1)}}

์œ„ ์ˆ˜์‹์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜์—ผ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

p = Fraction(q*(n+1), key2**(n+1) - key1**(n+1))

์ฒ˜์Œ ์ž…๋ ฅํ•˜๋Š” p๊ฐ’์ด ์ •์ˆ˜์ผ ๊ฒƒ์ด๋ผ๋Š” ์ ์— ์ฐฉ์•ˆํ•˜์—ฌ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ •๋‹ต์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

from fractions import Fraction
n = 3
key2 = 95
q = -200640142664324295933714

for key1 in range(1, 95, 1) :
    p = Fraction(q*(n+1), key2**(n+1) - key1**(n+1))
    if p.numerator%p.denominator == 0:
        print(p)

flag : DH{10112210997116104}

Robot Onlt

๐Ÿ‡LEVEL 1 : Crypto, MISC

๋ฌธ์ œ์ •๋ณด
๋กœ๋ด‡๋งŒ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๋ฐ•์žฅ์ด์—์š”.
๋กœ๋ด‡์ž„์„ ์ธ์ฆํ•˜๊ณ  ๊ฒฝ๊ธฐ์—์„œ ์ด๊ฒจ ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š”!

์ ‘์†ํ•˜๋ฉด ์ด๋Ÿฐ ๋ฉ”๋‰ด๊ฐ€ ๋œฌ๋‹ค.

you're are now verified as a robot :]
1. go to gamble
2. verify you're a robot
3. buy flag
4. leave

๋จผ์ € 2. verify you're a robot์„ ์„ ํƒํ•ด์„œ verify๋ฅผ ํ•œ ํ›„, gamble์„ ํ†ตํ•ด ๋ˆ์„ ๋ฒŒ๊ณ , ๋งˆ์ง€๋ง‰์œผ๋กœ 3.buy flag๋กœ flag๋ฅผ ์–ป์œผ๋ฉด ๋œ๋‹ค.

=======================================
1. go to gamble
2. verify you're a robot
3. buy flag
4. leave
2
please type this same: "4438571604814975098817099123686656342147150658235533979780"
4438571604814975098817099123686656342147150658235533979780
you're are now verified as a robot :]

์‹œ์Šคํ…œ์—์„œ ์›ํ•˜๋Š” ์ˆซ์ž๋ฅผ ๋น ๋ฅด๊ฒŒ ์ž…๋ ฅํ•˜๋ฉด robot์œผ๋กœ verify ๋  ์ˆ˜ ์žˆ๋‹ค.
๋ฌผ๋ก  ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ, ๊ท€์ฐฎ๊ธฐ ๋•Œ๋ฌธ์— ํ”ผ์ง€์ปฌ์„ ๋ฐœํœ˜ํ•ด๋ณด์ž.
์ƒ๊ฐ๋ณด๋‹ค ์—ฌ์œ ๋กญ๊ฒŒ ๊ธฐ๋‹ค๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ์œˆ๋„์šฐ์˜ ๋”๋ธ”ํด๋ฆญ์„ ์ด์šฉํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์—์„œ ์›ํ•˜๋Š” ๋งŒํผ ๋น ๋ฅด๊ฒŒ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.
pwn์—์„œ sendํ•˜๋Š”๋ฐ ์ž๊พธ byte ํ˜•์‹์œผ๋กœ ์•ˆ ๋ณด๋‚ธ๋‹ค๊ณ  ์˜ค๋ฅ˜๊ฐ€ ๋– ์„œ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ ˆ๋Œ€๋กœ ์•„๋‹ˆ๋‹ˆ๊นŒ ์˜คํ•ดํ•˜์ง€ ์•Š๊ธธ ๋ฐ”๋ž€๋‹ค. ^^

์•„๋ฌดํŠผ ๋กœ๋ด‡์œผ๋กœ >์ธ์ •< ๋ฐ›๊ณ ๋‚˜๋ฉด gamble ๋ฉ”๋‰ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ ‘์†ํ•ด๋ณด๋ฉด ์šฐ๋ฆฌ๋Š” 500์›์˜ ๋ˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ทผ๋ฐ flag๋ฅผ ๊ตฌ์ž…ํ•˜๋ ค๋ฉด 10000000000์›์ด ํ•„์š”ํ•˜๋‹ค.
๊ทธ๋Ÿฌ๋‹ˆ๊นŒ, ์—ฐ์†ํ•ด์„œ 20๋ฒˆ ์ด์ƒ ๊ฒŒ์ž„์—์„œ ์Šน๋ฆฌํ•˜๋ฉด ๋œ๋‹ค.
1~5์ค‘์—์„œ ๋งž๋Š” ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋˜๋‹ˆ๊นŒ (1/5)^20 ์ด์ƒ์˜ ํ™•๋ฅ ์„ ๋šซ๊ณ  ๋ˆ์„ ๋ฒŒ๋ฉด ๋œ๋‹ค. ๋˜๊ฒ ๋ƒ๊ณ  ๊ทธ๋Ÿฐ ๋Šฅ๋ ฅ์ด ์žˆ๋‹ค๋ฉด CTF ํ’€์ง€ ๋ง๊ณ  ๊ฐ•์›๋žœ๋“œ์— ๊ฐ€๋ฉด ๋œ๋‹ค. ๋งŽ์€ ๋ˆ์„ ๋ฒŒ๊ณ  ์ฆ๊ฒ๊ฒŒ ์‚ด์•„๊ฐ€๋ฉด ๋œ๋‹ค.

gamble ํ•จ์ˆ˜๋ฅผ ๋ณด๋ฉด ์ด๋ฅผ ํšŒํ”ผํ•  ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

def gamble():
    global money
    global verified

    if verified is False:
        print('you\'re are not verified as a robot ;[')
        return

    print('greetings, robot :]')

    bet = int(input('how much money do you want to bet (your money: ${0})? '.format(money)))
    if money < bet:
        print('you don\'t have enough money (your money: ${0}).'.format(money))
        return

    randn = get_randn()
    answer = randn % 5 + 1

    print('[1] [2] [3] [4] [5]')
    user_answer = int(input('pick one of the box > '))

    print('answer is [{0}]!'.format(answer))

    if user_answer == answer:
        print('you earned ${0}.'.format(bet))
        money += bet
    else:
        print('you lost ${0}.'.format(bet))
        money -= bet

    if money <= 0:
        print('you busted ;]')
        sys.exit()

gamble์—์„œ ์ง€๋ฉด ๊ทธ ๋งŒํผ์˜ ๋ˆ์„ ๋นผ๋Š” ์—ฐ์‚ฐ์„ ํ•œ๋‹ค. ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋ˆ์„ ์Œ์ˆ˜๋งŒํผ ๊ฑธ๋ฉด ํ•œ ๋ฒˆ์— ๋งŽ์€ ๋ˆ์„ ๋ฒŒ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ๋‚ด ๋ˆ๋ณด๋‹ค ๋ˆ์„ ๋งŽ์ด ๊ฑฐ๋Š” ๊ฒƒ๋งŒ ๊ธˆ์ง€ํ•˜๊ณ  ์žˆ๊ณ , ๋” ์ ์€ ๋ˆ์„ ๋ฒ„๋Š” ๊ฒƒ์€ ๊ดœ์ฐฎ๊ธฐ ๋•Œ๋ฌธ์— ์ ๋‹นํžˆ -9999999999999999999999999๋งŒํผ ๋ˆ์„ ๊ฑธ๋ฉด 4/5์˜ ํ™•๋ฅ ๋กœ 9999999999999999999999999์˜ ๋ˆ์„ ๋ฒŒ ์ˆ˜ ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ ์šฐํšŒํ•˜์—ฌ ๋ˆ์„ ๋ฒŒ๋ฉด 3๋ฒˆ ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์—ฌ flag๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

=======================================
1. go to gamble
2. verify you're a robot
3. buy flag
4. leave
3
price of the flag is $10,000,000,000.
b'flag is DH{0086b1776b2b2dac7aebb790ec005ecf2bcce345c52225f03bb177b47a357a40}'

flag : DH{0086b1776b2b2dac7aebb790ec005ecf2bcce345c52225f03bb177b47a357a40}

chinese what?

๐Ÿ‡LEVEL 1 : Crypto

๋ฌธ์ œ์ •๋ณด
CRT๋Š” rsa์— ๋งŽ์ด ์‘์šฉ๋˜๋Š” ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค.
๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ฉฐ CRT๋ž€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด์„ธ์š”.
๋ฌธ์ œ ์„ค๋ช…์ด ์ฐธ ์ž์„ธํ•˜๊ธฐ๋„ ํ•˜๋‹ค

cipher = [0x54, 0x58, 0x6b, 0x64, 0x58, 0x75, 0x4f, 0x7b, 0x21, 0x5c, 0x7c,
          0x75, 0x42, 0x4f, 0x21, 0x63, 0x4f, 0x74, 0x42, 0x75, 0x51, 0x7d, 0x6d]

for i in range(256):
    answer = ""
    for j in range(23):
        answer += str(hex(cipher[j]^i))[2:]
    print(answer)

์ด๋ ‡๊ฒŒ ์ฝ”๋“œ๋ฅผ ๋Œ๋ฆฌ๋ฉด ๊ฒฐ๊ณผ๊ฐ€ 256๊ฐœ ๋‚˜์˜จ๋‹ค. ์•„ 0์„ ์ œ์™ธํ•˜๋ฉด 255๊ฐœ์ธ๋‹ค. ๋งŽ์ด ์ค„์–ด๋“œ๋„ค ^^

54586b6458754f7b215c7c75424f21634f744275517d6d
55596a6559744e7a205d7d74434e20624e754374507c6c
565a69665a774d79235e7e77404d23614d764077537f6f
575b68675b764c78225f7f76414c22604c774176527e6e
505c6f605c714b7f25587871464b25674b704671557969
515d6e615d704a7e24597970474a24664a714770547868
525e6d625e73497d275a7a734449276549724473577b6b
535f6c635f72487c265b7b724548266448734572567a6a
5c50636c507d47732954747d4a47296b477c4a7d597565
5d51626d517c46722855757c4b46286a467d4b7c587464
5e52616e527f45712b56767f48452b69457e487f5b7767
5f53606f537e44702a57777e49442a68447f497e5a7666
58546768547943772d5070794e432d6f43784e795d7161
59556669557842762c5171784f422c6e42794f785c7060
5a56656a567b41752f52727b4c412f6d417a4c7b5f7363
5b57646b577a40742e53737a4d402e6c407b4d7a5e7262
44487b7448655f6b314c6c65525f31735f645265416d7d
45497a7549645e6a304d6d64535e30725e655364406c7c
464a79764a675d69334e6e67505d33715d665067436f7f
474b78774b665c68324f6f66515c32705c675166426e7e
404c7f704c615b6f35486861565b35775b605661456979
414d7e714d605a6e34496960575a34765a615760446878
424e7d724e63596d374a6a635459377559625463476b7b
434f7c734f62586c364b6b625558367458635562466a7a
4c40737c406d57633944646d5a57397b576c5a6d496575
4d41727d416c56623845656c5b56387a566d5b6c486474
4e42717e426f55613b46666f58553b79556e586f4b6777
4f43707f436e54603a47676e59543a78546f596e4a6676
48447778446953673d4060695e533d7f53685e694d6171
49457679456852663c4161685f523c7e52695f684c6070
4a46757a466b51653f42626b5c513f7d516a5c6b4f6373
4b47747b476a50643e43636a5d503e7c506b5d6a4e6272
74784b4478556f5b17c5c55626f1436f546255715d4d
75794a4579546e5a07d5d54636e0426e556354705c4c
767a49467a576d5937e5e57606d3416d566057735f4f
777b48477b566c5827f5f56616c2406c576156725e4e
707c4f407c516b5f5785851666b5476b506651755949
717d4e417d506a5e4795950676a4466a516750745848
727e4d427e53695d77a5a53646974569526453775b4b
737f4c437f52685c67b5b52656864468536552765a4a
7c70434c705d6753974545d6a6794b675c6a5d795545
7d71424d715c6652875555c6b6684a665d6b5c785444
7e72414e725f6551b76565f6865b49655e685f7b5747
7f73404f735e6450a77575e6964a48645f695e7a5646
7874474874596357d7050596e63d4f63586e597d5141
7975464975586256c7151586f62c4e62596f587c5040
7a76454a765b6155f72525b6c61f4d615a6c5b7f5343
7b77444b775a6054e73535a6d60e4c605b6d5a7e5242
64685b5468457f4b116c4c45727f11537f447245614d5d
65695a5569447e4a106d4d44737e10527e457344604c5c
666a59566a477d49136e4e47707d13517d467047634f5f
676b58576b467c48126f4f46717c12507c477146624e5e
606c5f506c417b4f15684841767b15577b407641654959
616d5e516d407a4e14694940777a14567a417740644858
626e5d526e43794d176a4a437479175579427443674b5b
636f5c536f42784c166b4b427578165478437542664a5a
6c60535c604d77431964444d7a77195b774c7a4d694555
6d61525d614c76421865454c7b76185a764d7b4c684454
6e62515e624f75411b66464f78751b59754e784f6b4757
6f63505f634e74401a67474e79741a58744f794e6a4656
68645758644973471d6040497e731d5f73487e496d4151
69655659654872461c6141487f721c5e72497f486c4050
6a66555a664b71451f62424b7c711f5d714a7c4b6f4353
6b67545b674a70441e63434a7d701e5c704b7d4a6e4252
14182b241835f3b611c3c352f6123f34235113d2d
15192a251934e3a601d3d343e6022e35334103c2c
161a29261a37d39631e3e370d6321d36037133f2f
171b28271b36c38621f3f361c6220c37136123e2e
101c2f201c31b3f651838316b6527b30631153929
111d2e211d30a3e641939307a6426a31730143828
121e2d221e3393d671a3a33496725932433173b2b
131f2c231f3283c661b3b32586624833532163a2a
1c10232c103d7336914343da7692b73ca3d193525
1d11222d113c6326815353cb6682a63db3c183424
1e12212e123f5316b16363f856b2953e83f1b3727
1f13202f133e4306a17373e946a2843f93e1a3626
1814272814393376d103039e36d2f338e391d3121
1915262915382366c113138f26c2e239f381c3020
1a16252a163b1356f12323bc16f2d13ac3b1f3323
1b17242b173a0346e13333ad06e2c03bd3a1e3222
483b348251f2b71c2c25121f71331f24122512d3d
593a359241e2a70d2d24131e70321e25132402c3c
6a3936a271d2973e2e27101d73311d26102732f3f
7b3837b261c2872f2f26111c72301c27112622e3e
0c3f30c211b2f7582821161b75371b20162152939
1d3e31d201a2e7492920171a74361a21172042838
2e3d32e23192d77a2a23141977351922142372b3b
3f3c33f22182c76b2b22151876341823152262a3a
c0333c02d1723794242d1a17793b172c1a2d92535
d1323d12c1622785252c1b16783a162d1b2c82434
e2313e22f15217b6262f18157b39152e182fb2737
f3303f32e14207a7272e19147a38142f192ea2636
84373842913277d020291e137d3f13281e29d2131
95363952812267c121281f127c3e12291f28c2030
a6353a62b11257f2222b1c117f3d112a1c2bf2333
b7343b72a10247e3232a1d107e3c102b1d2ae2232
3438b438152f1b413c1c15222f4132f142215311dd
3539a539142e1a403d1d14232e4022e152314301cc
363a963a172d19433e1e17202d4312d162017331ff
373b873b162c18423f1f16212c4202c172116321ee
303cf03c112b1f45381811262b4572b10261135199
313de13d102a1e44391910272a4462a11271034188
323ed23e13291d473a1a13242947529122413371bb
333fc33f12281c463b1b12252846428132512361aa
3c303c301d27134934141d2a2749b271c2a1d39155
3d312d311c26124835151c2b2648a261d2b1c38144
3e321e321f25114b36161f28254b9251e281f3b177
3f330f331e24104a37171e29244a8241f291e3a166
383478341923174d3010192e234df23182e193d111
393569351822164c3111182f224ce22192f183c100
3a365a361b21154f32121b2c214fd211a2c1b3f133
3b374b371a20144e33131a2d204ec201b2d1a3e122
24281b142853fb512cc5323f51133f432521d1d
25291a152943ea502dd4333e50123e533420c1c
262a19162a73d9532ee7303d53113d630723f1f
272b18172b63c8522ff6313c52103c731622e1e
202c1f102c13bf552881363b55173b036125919
212d1e112d03ae542990373a54163a137024818
222e1d122e339d572aa33439571539234327b1b
232f1c132f238c562bb23538561438335226a1a
2c20131c20d37359244d3a37591b37c3ad29515
2d21121d21c36258255c3b36581a36d3bc28414
2e22111e22f3515b266f38355b1935e38f2b717
2f23101f23e3405a277e39345a1834f39e2a616
282417182493375d20093e335d1f3383e92d111
292516192583265c21183f325c1e3293f82c010
2a26151a26b3155f222b3c315f1d31a3cb2f313
2b27141b27a3045e233a3d305e1c30b3da2e212
d4d8ebe4d8f5cffba1dcfcf5c2cfa1e3cff4c2f5d1fded
d5d9eae5d9f4cefaa0ddfdf4c3cea0e2cef5c3f4d0fcec
d6dae9e6daf7cdf9a3defef7c0cda3e1cdf6c0f7d3ffef
d7dbe8e7dbf6ccf8a2dffff6c1cca2e0ccf7c1f6d2feee
d0dcefe0dcf1cbffa5d8f8f1c6cba5e7cbf0c6f1d5f9e9
d1ddeee1ddf0cafea4d9f9f0c7caa4e6caf1c7f0d4f8e8
d2deede2def3c9fda7dafaf3c4c9a7e5c9f2c4f3d7fbeb
d3dfece3dff2c8fca6dbfbf2c5c8a6e4c8f3c5f2d6faea
dcd0e3ecd0fdc7f3a9d4f4fdcac7a9ebc7fccafdd9f5e5
ddd1e2edd1fcc6f2a8d5f5fccbc6a8eac6fdcbfcd8f4e4
ded2e1eed2ffc5f1abd6f6ffc8c5abe9c5fec8ffdbf7e7
dfd3e0efd3fec4f0aad7f7fec9c4aae8c4ffc9fedaf6e6
d8d4e7e8d4f9c3f7add0f0f9cec3adefc3f8cef9ddf1e1
d9d5e6e9d5f8c2f6acd1f1f8cfc2aceec2f9cff8dcf0e0
dad6e5ead6fbc1f5afd2f2fbccc1afedc1faccfbdff3e3
dbd7e4ebd7fac0f4aed3f3facdc0aeecc0fbcdfadef2e2
c4c8fbf4c8e5dfebb1ccece5d2dfb1f3dfe4d2e5c1edfd
c5c9faf5c9e4deeab0cdede4d3deb0f2dee5d3e4c0ecfc
c6caf9f6cae7dde9b3ceeee7d0ddb3f1dde6d0e7c3efff
c7cbf8f7cbe6dce8b2cfefe6d1dcb2f0dce7d1e6c2eefe
c0ccfff0cce1dbefb5c8e8e1d6dbb5f7dbe0d6e1c5e9f9
c1cdfef1cde0daeeb4c9e9e0d7dab4f6dae1d7e0c4e8f8
c2cefdf2cee3d9edb7caeae3d4d9b7f5d9e2d4e3c7ebfb
c3cffcf3cfe2d8ecb6cbebe2d5d8b6f4d8e3d5e2c6eafa
ccc0f3fcc0edd7e3b9c4e4eddad7b9fbd7ecdaedc9e5f5
cdc1f2fdc1ecd6e2b8c5e5ecdbd6b8fad6eddbecc8e4f4
cec2f1fec2efd5e1bbc6e6efd8d5bbf9d5eed8efcbe7f7
cfc3f0ffc3eed4e0bac7e7eed9d4baf8d4efd9eecae6f6
c8c4f7f8c4e9d3e7bdc0e0e9ded3bdffd3e8dee9cde1f1
c9c5f6f9c5e8d2e6bcc1e1e8dfd2bcfed2e9dfe8cce0f0
cac6f5fac6ebd1e5bfc2e2ebdcd1bffdd1eadcebcfe3f3
cbc7f4fbc7ead0e4bec3e3eaddd0befcd0ebddeacee2f2
f4f8cbc4f8d5efdb81fcdcd5e2ef81c3efd4e2d5f1ddcd
f5f9cac5f9d4eeda80fdddd4e3ee80c2eed5e3d4f0dccc
f6fac9c6fad7edd983feded7e0ed83c1edd6e0d7f3dfcf
f7fbc8c7fbd6ecd882ffdfd6e1ec82c0ecd7e1d6f2dece
f0fccfc0fcd1ebdf85f8d8d1e6eb85c7ebd0e6d1f5d9c9
f1fdcec1fdd0eade84f9d9d0e7ea84c6ead1e7d0f4d8c8
f2fecdc2fed3e9dd87fadad3e4e987c5e9d2e4d3f7dbcb
f3ffccc3ffd2e8dc86fbdbd2e5e886c4e8d3e5d2f6daca
fcf0c3ccf0dde7d389f4d4ddeae789cbe7dceaddf9d5c5
fdf1c2cdf1dce6d288f5d5dcebe688cae6ddebdcf8d4c4
fef2c1cef2dfe5d18bf6d6dfe8e58bc9e5dee8dffbd7c7
fff3c0cff3dee4d08af7d7dee9e48ac8e4dfe9defad6c6
f8f4c7c8f4d9e3d78df0d0d9eee38dcfe3d8eed9fdd1c1
f9f5c6c9f5d8e2d68cf1d1d8efe28ccee2d9efd8fcd0c0
faf6c5caf6dbe1d58ff2d2dbece18fcde1daecdbffd3c3
fbf7c4cbf7dae0d48ef3d3daede08ecce0dbeddafed2c2
e4e8dbd4e8c5ffcb91ecccc5f2ff91d3ffc4f2c5e1cddd
e5e9dad5e9c4feca90edcdc4f3fe90d2fec5f3c4e0ccdc
e6ead9d6eac7fdc993eecec7f0fd93d1fdc6f0c7e3cfdf
e7ebd8d7ebc6fcc892efcfc6f1fc92d0fcc7f1c6e2cede
e0ecdfd0ecc1fbcf95e8c8c1f6fb95d7fbc0f6c1e5c9d9
e1edded1edc0face94e9c9c0f7fa94d6fac1f7c0e4c8d8
e2eeddd2eec3f9cd97eacac3f4f997d5f9c2f4c3e7cbdb
e3efdcd3efc2f8cc96ebcbc2f5f896d4f8c3f5c2e6cada
ece0d3dce0cdf7c399e4c4cdfaf799dbf7ccfacde9c5d5
ede1d2dde1ccf6c298e5c5ccfbf698daf6cdfbcce8c4d4
eee2d1dee2cff5c19be6c6cff8f59bd9f5cef8cfebc7d7
efe3d0dfe3cef4c09ae7c7cef9f49ad8f4cff9ceeac6d6
e8e4d7d8e4c9f3c79de0c0c9fef39ddff3c8fec9edc1d1
e9e5d6d9e5c8f2c69ce1c1c8fff29cdef2c9ffc8ecc0d0
eae6d5dae6cbf1c59fe2c2cbfcf19fddf1cafccbefc3d3
ebe7d4dbe7caf0c49ee3c3cafdf09edcf0cbfdcaeec2d2
9498aba498b58fbbe19cbcb5828fe1a38fb482b591bdad
9599aaa599b48ebae09dbdb4838ee0a28eb583b490bcac
969aa9a69ab78db9e39ebeb7808de3a18db680b793bfaf
979ba8a79bb68cb8e29fbfb6818ce2a08cb781b692beae
909cafa09cb18bbfe598b8b1868be5a78bb086b195b9a9
919daea19db08abee499b9b0878ae4a68ab187b094b8a8
929eada29eb389bde79abab38489e7a589b284b397bbab
939faca39fb288bce69bbbb28588e6a488b385b296baaa
9c90a3ac90bd87b3e994b4bd8a87e9ab87bc8abd99b5a5
9d91a2ad91bc86b2e895b5bc8b86e8aa86bd8bbc98b4a4
9e92a1ae92bf85b1eb96b6bf8885eba985be88bf9bb7a7
9f93a0af93be84b0ea97b7be8984eaa884bf89be9ab6a6
9894a7a894b983b7ed90b0b98e83edaf83b88eb99db1a1
9995a6a995b882b6ec91b1b88f82ecae82b98fb89cb0a0
9a96a5aa96bb81b5ef92b2bb8c81efad81ba8cbb9fb3a3
9b97a4ab97ba80b4ee93b3ba8d80eeac80bb8dba9eb2a2
8488bbb488a59fabf18caca5929ff1b39fa492a581adbd
8589bab589a49eaaf08dada4939ef0b29ea593a480acbc
868ab9b68aa79da9f38eaea7909df3b19da690a783afbf
878bb8b78ba69ca8f28fafa6919cf2b09ca791a682aebe
808cbfb08ca19baff588a8a1969bf5b79ba096a185a9b9
818dbeb18da09aaef489a9a0979af4b69aa197a084a8b8
828ebdb28ea399adf78aaaa39499f7b599a294a387abbb
838fbcb38fa298acf68baba29598f6b498a395a286aaba
8c80b3bc80ad97a3f984a4ad9a97f9bb97ac9aad89a5b5
8d81b2bd81ac96a2f885a5ac9b96f8ba96ad9bac88a4b4
8e82b1be82af95a1fb86a6af9895fbb995ae98af8ba7b7
8f83b0bf83ae94a0fa87a7ae9994fab894af99ae8aa6b6
8884b7b884a993a7fd80a0a99e93fdbf93a89ea98da1b1
8985b6b985a892a6fc81a1a89f92fcbe92a99fa88ca0b0
8a86b5ba86ab91a5ff82a2ab9c91ffbd91aa9cab8fa3b3
8b87b4bb87aa90a4fe83a3aa9d90febc90ab9daa8ea2b2
b4b88b84b895af9bc1bc9c95a2afc183af94a295b19d8d
b5b98a85b994ae9ac0bd9d94a3aec082ae95a394b09c8c
b6ba8986ba97ad99c3be9e97a0adc381ad96a097b39f8f
b7bb8887bb96ac98c2bf9f96a1acc280ac97a196b29e8e
b0bc8f80bc91ab9fc5b89891a6abc587ab90a691b59989
b1bd8e81bd90aa9ec4b99990a7aac486aa91a790b49888
b2be8d82be93a99dc7ba9a93a4a9c785a992a493b79b8b
b3bf8c83bf92a89cc6bb9b92a5a8c684a893a592b69a8a
bcb0838cb09da793c9b4949daaa7c98ba79caa9db99585
bdb1828db19ca692c8b5959caba6c88aa69dab9cb89484
beb2818eb29fa591cbb6969fa8a5cb89a59ea89fbb9787
bfb3808fb39ea490cab7979ea9a4ca88a49fa99eba9686
b8b48788b499a397cdb09099aea3cd8fa398ae99bd9181
b9b58689b598a296ccb19198afa2cc8ea299af98bc9080
bab6858ab69ba195cfb2929baca1cf8da19aac9bbf9383
bbb7848bb79aa094ceb3939aada0ce8ca09bad9abe9282
a4a89b94a885bf8bd1ac8c85b2bfd193bf84b285a18d9d
a5a99a95a984be8ad0ad8d84b3bed092be85b384a08c9c
a6aa9996aa87bd89d3ae8e87b0bdd391bd86b087a38f9f
a7ab9897ab86bc88d2af8f86b1bcd290bc87b186a28e9e
a0ac9f90ac81bb8fd5a88881b6bbd597bb80b681a58999
a1ad9e91ad80ba8ed4a98980b7bad496ba81b780a48898
a2ae9d92ae83b98dd7aa8a83b4b9d795b982b483a78b9b
a3af9c93af82b88cd6ab8b82b5b8d694b883b582a68a9a
aca0939ca08db783d9a4848dbab7d99bb78cba8da98595
ada1929da18cb682d8a5858cbbb6d89ab68dbb8ca88494
aea2919ea28fb581dba6868fb8b5db99b58eb88fab8797
afa3909fa38eb480daa7878eb9b4da98b48fb98eaa8696
a8a49798a489b387dda08089beb3dd9fb388be89ad8191
a9a59699a588b286dca18188bfb2dc9eb289bf88ac8090
aaa6959aa68bb185dfa2828bbcb1df9db18abc8baf8393
aba7949ba78ab084dea3838abdb0de9cb08bbd8aae8292

์ด๊ฒƒ๋“ค์„ ์˜จ๋ผ์ธ hex to ascii๋กœ convertํ•˜๋ฉด flag๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

flag : DH{tHe_k1LleR_1s_dReAm}

0๊ฐœ์˜ ๋Œ“๊ธ€