ํ์ผ ์คํ
๋จผ์ ๋ค์ด๋ก๋ ๋ฐ์ ํ์ผ์ ์คํํ์ฌ ํ๋ก๊ทธ๋จ์ด ์ด๋ค ์์ผ๋ก ๋์ํ๋์ง ํ์ธํฉ์๋ค.
์ฐธ๊ณ ๋ก ์๊ฒ์ ๋ฌธ์ ์ ๊ฐ์ด ์ ๋ขฐํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ ๋๋ ๊ฐ์ํ๊ฒฝ(VM)์์ ์คํํ๋ ๊ฒ์ด good!
๋ง์ฝ ๋ฌธ์ ์ ๋ณด๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ ๋์ ๋ฐฉ์์ด ์์์ด ๊ฐ๋ค๋ฉด ์คํํ์ง ์๊ณ ์ ์ ๋ถ์์ ๋จผ์ ์๋๋ ์ข์ ๋ฐฉ๋ฒ
์๋์ฐ OS์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ Windows PowerShell์ ๋ฌธ์ ํ์ผ์ ์คํํ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ์๋ฉด..
๋ฌธ์ ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฌธ์๋ฅผ ์
๋ ฅ๋ฐ๊ณ ํ๋ก๊ทธ๋จ ๋ด๋ถ์ ์ด๋ค ๊ฒ์ฆ๊ณผ์ ์ ๊ฑฐ์ณ ์
๋ ฅํ
๋ฌธ์์ด์ด ๊ฒ์ฆ์ ํต๊ณผํ๋ค๋ฉด Correct, ํต๊ณผ ๋ชปํ๋ฉด Wrong์ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ ๊ฑธ ์ ์ถ๊ฐ๋ฅ
๊ทธ๋ ๋ค๋ฉด ๋ฌธ์ ์ ์ ๋ต(flag)์ ๊ฒ์ฆ๊ณผ์ ์ ํต๊ณผํ์ฌ Correct๊ฐ ์ถ๋ ฅ๋๋๋ก ํ๋ ์
๋ ฅ๊ฐ์ด ๋ ๊ฑฐ์ฃ
์ง๊ธ๋ถํฐ ์ ์ /๋์ ๋ถ์์ผ๋ก ํ์ธํด๋ณด์ฃ
๐ก์ ๋ขฐํ ์ ์๋ ํ๋ก๊ทธ๋จ ์คํ ์ฃผ์
์ธํฐ๋ท์์ ๋ค์ด๋๋ฅด ๋ฐ์ ์ถ์ฒ ์ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์ PC์ ์น๋ช ์ ์ธ ์์์
๊ฐํ๋ ๊ณต๊ฒฉ์ ์๋ํ ์ ์๊ธฐ์ ํน์ ๋ชจ๋ฅผ ๊ณต๊ฒฉ์ ๋๋นํ ์ ์๋๋ก ๊ฒฉ๋ฆฌ๋ VM์คํ ๊ถ๊ณ
์ ์ ๋ถ์
๋ฌธ์์ด ํ์
ํ์ผ ์คํ ๊ณผ์ ์ ํตํด ์
๋ ฅํ ๋ฌธ์์ด์ ๊ฒ์ฆํ ํ, Wrong์ด๋ Correct ๋ฌธ์์ด์ ์ถ๋ ฅํ๋ ๊ฑธ ์์์ฃ
๋ฐ๋ผ์ ๊ฒ์ฆํ๋ ์์น๋ฅผ ์ฐพ๊ธฐ ์ํด์ ํ์ผ์ด ์คํ๋ ๋ ์ถ๋ ฅ๋๋ ๋ฌธ์์ด์ ๋จผ์ ๊ฒ์ํด๋ณผ๊น์
์ฐ๋ฆฌ๋ ์์ ํ์ผ์ ์คํํด๋ณด๋ฉด์ Input : ๊ณผ Wrong์ด๋ผ๋ ๋ฌธ์์ด์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ํ์ธํ์ต๋๋ค.
ํด๋น ๋ฌธ์์ด์ ์ฌ์ฉํ๋ ๊ณณ์ด ์
๋ ฅํ ๋ฌธ์์ด ๊ฒ์ฆํ๋ ๊ณณ๊ณผ ๊ฐ๊น์ธ ํ๋ฅ ์ด ๋์ฃ
View - Open subviews → Strings๋ฅผ ํด๋ฆญ(Shift-F12)๋ฅผ ํด๋ฆญํด ๋ฐ์ด๋๋ฆฌ์ ํฌํจ๋ ๋ฌธ์์ด ํ์ธํฉ์๋ค.
๋ฌธ์์ด์์ Input : ๋ฟ๋ง ์๋ Correct๋ผ๋ ๋ฌธ์์ด์ ํ์ธํ ์ ์์ฃ
ํ์ผ์ ์คํํ๊ณ ์์ ๋ฌธ์์ด์ ์
๋ ฅํ์ ๋ Wrong์ด ์ถ๋ ฅ๋๋ Correct๋ ๊ฒ์ฆ๊ณผ์ ์ด ํต๊ณผ๋ ๋๊ฒ ์ฃ
๊ทธ๋ ๋ค๋ฉด ์ด๋ค ์ ๋ ฅ๊ฐ์ ์ ๋ ฅํด์ผ Correct๋ฌธ์์ด์ ์ถ๋ ฅํ๋์ง ์์๋ณด๋ฉด flag๋ฅผ ์ฐพ์ ์ ์์ ๊ฒ๋๋ค.
ํจ์ ๋ถ์
์ํธ ์ฐธ์กฐ(Cross Reference; xref)๋ฅผ ํตํด ํด๋น ๋ฌธ์์ด์ด ์ด๋ค ํจ์์ ์ฐธ์กฐ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
View - Opensubviews → xref(x)๋ฅผ ํตํด Correct ๋ฌธ์์ด์ด ์ฐธ์กฐ๋๋ ํจ์๋ฅผ ํ์ธํ๋ฉด...
main์์ ํด๋น ๋ฌธ์์ด์ ์ฐธ์กฐํ๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
์ดํ ๋จ์ถํค F5๋ฅผ ์ด์ฉํด Correct ๋ฌธ์์ด์ ์ฌ์ฉํ๋ ๊ณณ์ ๋์ปดํ์ผํด๋ณด๊ฒ ์ต๋๋ค(IDA์ ๊ฐ์ฅ ํฐ ์ฅ์ )
๋์ปดํ์ผ ๊ฒฐํ๋ฅผ ํตํด ์ด๋ค ์กฐ๊ฑด์ด ๋ง์กฑํด์ผ ์ ๋ต์ธ์ง ๋ถ์ํด๋ด
์๋ค.
๊ทธ์ ์๋ ๋ดค๋ ํ์์ด์ฃ printf ํ์์ผ๋ก์จ ์ธ์๋ฅผ ๋ฐ๊ณ ๋ฐํ์ rax๋ก ๋ณด๋ด ์ถ๋ ฅํ๋ ํ์์ ๋๋ค.
์ด์ ๊ฑฐ์ฒ๋ผ ์ธ์๋ฅผ va_start๋ฅผ ํตํด ๋ฐ์๋๋ฆฌ๋ฉฐ _acrt_iob_func(0i64; 0)์ด๋ฏ๋ก ์คํธ๋ฆผ์์ stdin์ด๋ฏ๋ก
๊ฒฐ๊ตญ ์
๋ ฅ์ ๋ฐ๋ ๋ถ๋ถ์ด๋ฏ๋ก ๋ฐํ์ stdin์ผ๋ก scanf ํจ์๋ผ๊ณ ๋ณผ ์ ์๊ฒ ์ฃ
์ฐธ๊ณ ๋ก _acrt_iob_func๋ ์ํคํ ์ฒ์ ์คํธ๋ฆผ์ ๋๋ค!
์ด์ ์กฐ๊ฑด๋ฌธ๋ง ํ์ธํ๋ฉด ๋๊ฒ ์ฃ correct ํ์ธ์ ํ ๋ ค๋ฉด ์กฐ๊ฑด๋ฌธ์์ ๋ฌด์จ ๋ฌธ์์ด์ ์นํํด์ผํ ๊น์?
์ด์ ํจ์์ธ printf์ scanf๋ก ์
๋ ฅ์ ๋ฐ๋๋ค๋ ๊ฑธ ์์์ผ๋ฏ๋ก ๊ทธ ๋ถ๋ถ๋ง ํ์ธํ๋ฉด ๋
strcmp์ ๋ฌธ์์ด ๋น๊ต์ด๋ฉฐ ํด๋น ๋น๊ต ๋ฌธ์์ด์ "Compar3_the str1ng"์
๋๋ค.
flag{Compar3_the str1ng}
์๋ ์ ๋ฆฌ๋ ๊ธฐ๋ณธ ์ฉ์ด์ด๋ฏ๋ก ์์งํด์ฃผ์ธ์
- CTF (Capture The Flag): ๊น๋ฐ์ ์์ทจํ๋ ํ์ด ์ด๊ธฐ๋ ๊ฒ์์์ ์ ๋ํ ๋จ์ด๋ก, ๋ฌธ์ ์์ ๋ต(flag)๋ฅผ ์ฐพ์ ์ธ์ฆํ์ฌ ํฌ์ธํธ๋ฅผ ๊ฐ์ ธ๊ฐ๋ ํดํน๋ฐฉ์ด๋ํ๋ฅผ ํต์นญ.
- ํ๋๊ทธ (Flag): CTF์์ ๋ฌธ์ ์์ ์จ๊ฒจ์ง ๋ต. ์ธ์ฆํ๋ฉด ํฌ์ธํธ๋ฅผ ํ๋.
- ์ฑ๋ฆฐ์ง (Challenge): CTF์์ ๋ฌธ์ ์ ํด๋น. ์ฃผ๋ก ์น, ๋ฆฌ๋ฒ์ฑ, ํฌ๋๋ธ์ ์ค์ฌ์ผ๋ก ์ถ์ ๋๊ณ CTF์ ๋ฐ๋ผ ํฌ๋ ์, ์ํธ, ๋คํธ์ํฌ๋ฑ์ด ์ถ๊ฐ๋๊ธฐ๋ ํจ.
- ์๊ฒ์ (Wargame): CTF์ ๋น์ทํ๊ฒ ์ทจ์ฝํ ํ๊ฒฝ์ ๋ฌธ์ ์ ํํ๋ก ์ ๊ณตํ๋, CTF์ฒ๋ผ ์ผํ์ฑ ๋ํ๊ฐ ์๋๋ผ ์ง์์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๊ณต๋ถํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณต.โ
๋๋จธ์ง๋ ์ ๋ฆฌํ ๋ ค๊ณ ํ๋๋ฐ ์์งํ ๋๋ฌด ๊ท์ฐฎ๊ณ ์ปค๋ฆฌํ๋ผ์ ๋ ์์ธํ ๋์์ ๊ตณ์ด..
๊ทธ ๋ถ๋ถ์์ ๋ ์์ธํ ์ ์ ๋ด์ฉ๋ ๋ง์ ๋ณด์ด์ง๋ ์๊ธฐ์ ๋๋จธ์ง ๋์ด๊ฐ๊ป์ ์ด์ ์ฌ๊ธด ๋ฆฌ๋ฒ์ฑ ์๊ฒ์๋ง!
์ฐธ๊ณ ์๋ฃ
์ฐธ๊ณ ์ด๋ฏธ์ง
'๐โSystem_Study > ๐โDreamhack_Reversing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
rev-basic-4 (0) | 2022.05.26 |
---|---|
rev-basic-2 (0) | 2022.05.25 |
Exercise: Helloworld (0) | 2022.05.16 |
x86 Assembly (0) | 2022.05.12 |
Computer Science (0) | 2022.05.12 |