๋ฌธ์ : DreamHack โ Simple Crack Me ๋ถ๋ฅ: Reversing ๋์ด๋: ๐ฑ ์์น (Sprout) FLAG:
DH{322376503}
๋ฌธ์ ์ค๋ช
์ด ์น์ ํ๋ค. "์ซ์๋ฅผ ๋ฐ์ ์ ํด์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ฒ์ฆํด correct ๋๋ wrong์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ"์ด๊ณ , "correct๋ฅผ ์ถ๋ ฅํ๋ 10์ง์ ์์ ๊ฐ"์ ์ฐพ์ผ๋ฉด ๊ทธ ๊ฐ์ DH{}๋ก ๊ฐ์ผ ๊ฒ ํ๋๊ทธ๋๋ค. ๋ฐ์ด๋๋ฆฌ ํ๋, ํ์ผ ํ๋, ์กฐ๊ฑด ํ๋. ๋ฆฌ๋ฒ์ฑ ์
๋ฌธ ๋ฌธ์ ๋ต๊ฒ ๋ก์ง๋ ์ ํํ ๊ทธ๋งํผ๋ง ์๋ค.
๐ฌ ์ ์ฐฐ
simple_crack_me: ELF 64-bit LSB executable, x86-64, statically linked, ... stripped
์ ์ ๋งํฌ + strip์ด๋ผ ์ฌ๋ณผ์ ์์ง๋ง, PIE๊ฐ ๊บผ์ ธ ์๋ค๋ ๊ฒ ์ค์ํ๋ค(No PIE (0x400000)). ์ฃผ์๊ฐ ์คํํ ๋๋ง๋ค ๋ฐ๋์ง ์๊ณ ๋ฐ์ด๋๋ฆฌ์ ์ ํ ๊ทธ๋๋ก ๊ณ ์ ๋๋ค๋ ๋ป์ด๋ค. ๋์ค์ด์
๋ธ์์ ๋ณธ ์ฃผ์๋ฅผ gdb์์๋, ํ์ผ ์คํ์
๊ณ์ฐ์์๋ ๊ทธ๋๋ก ๋ฏฟ๊ณ ์ธ ์ ์๋ค.
๐ฃ ํต์ฌ โ main์ ๊น๋ฉด ๋น๊ต ์์๊ฐ ๋ฐ๋ก ๋ณด์ธ๋ค
objdump -d๋ก ์ง์
์ ๊ทผ์ฒ๋ฅผ ๋ณด๋ฉด ๋ก์ง ์ ์ฒด๊ฐ 30์ค ์์ ๋ค ๋ค์ด ์๋ค. scanf๋ก ์ ์ ํ๋(%d)๋ฅผ ์ฝ๊ณ , ๊ทธ ๊ฐ์ ์์ ํ๋์ ๋น๊ตํ๊ณ , ๋ง์ผ๋ฉด puts("Correct!"), ํ๋ฆฌ๋ฉด ์
๋ ฅ๊ฐ์ %x๋ก ๋๋๋ ค์ฃผ๋ฉฐ ์ ์ถ๋ ฅํ๋ค.



Comments
๋๊ธ
๋๊ธ์ ๋จ๊ธฐ๋ ค๋ฉด ๋ก๊ทธ์ธ์ด ํ์ํด์. (๋ค์ด๋ฒ ยท ๊ตฌ๊ธ ๊ณ์ )
๋๊ธ ๋ถ๋ฌ์ค๋ ์คโฆ