IDA์ ๋ฃ๊ณ F5 ๋๋ฌ ์คํ์์ผ๋ณด๋ฉด ์์ ํ๋ฉด์ด ๋ธ.
์ ๋ ฅ ๊ฐ ๋ฐ์์ sub_140001000 ํจ์์ ๋ฃ์ ๋ค์ ์ฐธ์ด๋ฉด Correct, ๊ฑฐ์ง์ด๋ฉด Wrong ์ถ๋ ฅ.
์ sub_140001000 ํจ์๊ฐ ๋ญ์ง ๊ถ๊ธํ๋๊น ๋ค์ด๊ฐ์ ์์๋ณด์.
ํจ์ ๋๋ธ ํด๋ฆญํด์ ๋ค์ด๊ฐ๋ฉด ์์ ๊ฐ์ ํ๋ฉด์ด ๋ณด์.
for๋ฌธ์ด ๋ณด์ธ๋ค. i๊ฐ 0๋ถํฐ 0x12 ๊ทธ๋ฌ๋๊น 18๋ณด๋ค ์์ ๋๊น์ง i++๋๋๊น
ํ ๋ง๋๋ก 18๋ฒ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐ๋ณตํ๋ผ๋ ์ด์ผ๊ธด๋ฐ,
๋ญ ๋ฐ๋ณตํ๋์ง for๋ฌธ ์์ ๋ณด๋๊น !=๊ฐ ๋ณด์ธ๋ค.
๋ ๊ฐ๋ฅผ ๋น๊ตํด์ ๋ค๋ฅด๋ฉด return 0ํ๊ณ ๊ฐ์ผ๋ฉด return1 ํ๋๋ค. ๋ฐํ๊ฐ์ด 0์ด๋ฉด ๊ฑฐ์ง, 0์ด ์๋๋ฉด ์ฐธ์ด๋๊น
๋น๊ตํ๋ ์ ๋์ด ๊ฐ์์ผ ํ๋ค.
๋ ๋น๊ต ๋์์ ๋ณด๋ ๋ฌธ์์ ์ฐ๊ด์ด ์์ด ๋ณด์ธ๋ค. ๋ฌธ์๋ 1byte, 4bit๋๊น
&ac[4 * i] ์ ๊ฑด i๊ฐ 1์ฉ ์ปค์ง์๋ก ac[0]์ด๋ผ๋ ์ฃผ์์ ๊ทธ ์ฒซ ๋ฌธ์ ๊ฐ์ด ๋ด๊ธด ๋ฌธ์ฅ ์์์
๊ทธ ๋ค์ ๋ฌธ์, ๊ทธ ๋ค์ ๋ฌธ์ ์ด๋ ๊ฒ ์ฐจ๋ก๋๋ก ๋น๊ตํด์ฃผ๋ ๊ฑฐ๋ค.
์ด์ ๋๋ฒ๊ฑฐ๋ก ์ด์ด์ค๋ค.
์ผ๋จ ๋ฌธ์์ด ์ฐธ์กฐ๋ก Input์ ๊ฒ์ํด์ ๋ฉ์ธํจ์๋ฅผ ์ฐพ์์ค๋ค.
๋ฉ์ธํจ์๋ฅผ ๋ณด๋ ์ฌ๋ฌ ํจ์๊ฐ ๋ณด์ด๋๋ฐ input ์ฒ๋ฆฌ ํจ์, ๋ฌธ์์ด ์ฒ๋ฆฌ ํจ์๋ฅผ ์ง๋๊ณ ๋๋ฉด
test eax eax ๋ค์ je chall2.7FF6B5961186 ํจ์๊ฐ ๋์จ๋ค. ์ ํจ์์ ๋ค์ด๊ฐ๋ฉด ๋ฐ๋ก ret ๋๋ค.
๋งํ๋๊ฑฐ๋ค.
๊ทธ๋ฌ๋ฉด ์ ๋๋๊น test eax eax ๋ง๋๊ธฐ ์ ์ ํจ์์ธ chall1.7FF6B5961000์์ ์น๋ถ๋ฅผ ๋ด์ผ ํ๋ค.
๋๋ธ ํด๋ฆญํด์ ๋ ์์ธํ ์ดํด๋ณด์.
๋ค์ด๊ฐ๋ฉด ์ฒ์์ ํจ์ ๋ฉ๋ชจ๋ฆฌ ํ๋ณดํ๋ ๋ถ๋ถ์ ์ง๋๋ฉด
cmp rax, 12๊ฐ ๋ณด์ด๊ณ ๊ทธ ๋ค์ ์ค์ jae ์ด์ฉ๊ตฌ๊ฐ ๋ณด์ธ๋ค.
jae๋ ๊ฐ๊ฑฐ๋ ํฐ ๊ฒฝ์ฐ์ ํจ์๋ฅผ ์คํํ๋ผ๋ ๋ช ๋ น์ด์ธ๋ฐ
jae ์์ ํจ์๊ฐ ์คํ๋๋ฉด ํจ์๊ฐ ret๋๋ค. ๋งํ๋ค.
์ฆ ์คํ๋๋ฉด ์ ๋๋๊น rax๊ฐ 12๋ณด๋ค ์์์ผ ๋๋ค. ์ฐธ๊ณ ๋ก 16์ง์๋ก ์ด์์ฒด์ ๋๊น 12๊ฐ ์๋๋ผ 18.
์ญ ๋ด๋ ค๊ฐ๋ค ๋ ๋ฒ์งธ๋ก ๋์จcmp ๋ถ๋ถ์ ๋จผ์ ์ดํด๋ณด์. edx์ [rcx+rax*4]์ ๋ ๋ฌธ์๋ฅผ ๋น๊ตํ๊ณ ์๋ค.
rax๊ฐ i ๊ฐ์ด๋ผ ํ ์์๊ณ rcx๊ฐ ๋ฌธ์์ด์ ์์ ์ฃผ์์ธ ๊ฒ์ด๋ค.
์๋ก ์ฌ๋ผ๊ฐ์ rcx์ ์ด๋ค ๊ฐ์ ๋ฃ์๋์ง ์ดํด๋ณด๋ 7FF6B593000์ด๋ผ๋ ์ด๋ค ์ฃผ์๊ฐ์ด ๋ค์ด๊ฐ๋ค.
๋ญ๊ฐ ๋ค์ด์๋ ์ดํด๋ณด๊ธฐ ์ํด ๋คํ์์ ๋ฐ๋ผ๊ฐ๊ธฐ๋ฅผ ํด๋ณด๋ฉด
Cmpr4re_the_arr4y๊ฐ ๋ค์ด์๋ค.
cmd ์ฐฝ์์ ๋ฌธ์์ด์ ์ ๋ ฅํด์ค๋ค.
Correct~๏ผ๏ฟฃ๏ธถ๏ฟฃ๏ผโใ
'๐ง ๋ฆฌ๋ฒ์ฑ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Dreamhack ๋ฆฌ๋ฒ์ฑ ๋ฌธ์ ํ์ด: rev-basic-4 (0) | 2023.11.01 |
---|---|
Dreamhack ๋ฆฌ๋ฒ์ฑ ๋ฌธ์ ํ์ด: rev-basic-3 (0) | 2023.10.31 |
๊ธฐํ ๋ฆฌ๋ฒ์ฑ ๋ฌธ์ ํ์ด: easy-crackme1 (1) | 2023.10.09 |
Dreamhack ๋ฆฌ๋ฒ์ฑ ๋ฌธ์ ํ์ด: rev-basic-1 (1) | 2023.10.09 |
Dreamhack ๋ฆฌ๋ฒ์ฑ ๋ฌธ์ ํ์ด: rev-basic-0 (0) | 2023.08.05 |