EXEINFO ์ด์ฉํด์ Crack Me 01 ์ด์ด๋ณด๊ธฐ
๋ฆฌ๋ฒ์ฑ์ ์ฒ์ ์์ํ๋ ์ ๋ EXEINFO ํ๋ก๊ทธ๋จ์ ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ์ ์ฌ์ง์ ๋ณด๊ณ ๋ฌด์์ ์์๋ด์ผ ํ๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ด์. ๊ทธ๋๋ Crack Me ํ์ด ๋ค์ ์ฐพ์๋ณด๋ฉด ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด์๋์ง ์์๋ณด๊ณ ์์ํ์ ์ ์ผ๋จ์ ์ ๋ ๋ฐ๋ผ ํด๋ณด๋ ค๊ณ ํด์.
์ฐ์ , EXEINFO ํ๋ก๊ทธ๋จ์ PEID์ ๋น์ทํ ๋ถ์ ํ๋ก๊ทธ๋จ์ด๋ฉฐ ์คํ ํ Drag&Drop์ผ๋ก ๊ฐํธํ๊ฒ ํด๋น ํ๋ก๊ทธ๋จ์ด ์ด๋ ์ธ์ด๋ก ์ปดํ์ผ ๋์๋์ง, ํจํน, ํฌ๋ฆฝํ , ํ๋กํ ํ ์ฌ๋ถ์ ์ด๋ ํ๋ก๊ทธ๋จ์ ์ํด ํจํน ๋์๋์ง ๋ฑ ๋ค์ํ ์ ๋ณด๋ฅผ ์ ์ ์๋ค๊ณ ํด์.
์์ผ๋ก Crack Me ๋ฌธ์ ๋ค์ ํด๊ฒฐํด๋๊ฐ๋ฉฐ, EXEINFO ํ๋ก๊ทธ๋จ๋ ์ฒ์ฒํ ์๊ฒ ๋ ๊ฒ์ ์๊ธฐ ๋๋ฌธ์ ์ด๋ ๊ฒ ๋์ด ๊ฐ๋ณผ๊ฒ์.
์ด๋ฎค๋ํฐ๋ฒ๊ฑฐ๋ก ๋ฆฌ๋ฒ์ฑ ์์ํ๊ธฐ
๋๋ฒ๊ฑฐ์ Crack Me 01์ ์ฌ๋ฆฌ๋ฉด, ์ ์ฌ์ง์ฒ๋ผ ๋ณผ ์ ์์ด์. ์ฒ์์๋ “์ด๊ฒ ๋ญ์ผ ? ์์ ๋ฉ์๋ค.” ์ฌ๊ธฐ์ ์๊ฐ์ด ๋ฉ์ท์ด์.
์ดํ ์ ๊ฐ ํ ์ก์ ์ F9๋ฅผ ์ด์ฉํ์ฌ ํ๋ก๊ทธ๋จ์ ์คํ ํด๋ณด๋ ๊ฑฐ์์ด์.
ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด Error / “Nah.. This is not a CD-ROM Drive” ๋ฉ์์ง๊ฐ ๋์์. ์ฌ๊ธฐ์ ์ ๋ “Error์ฐฝ์ด ์๋ ๊ธ์ ์ ์ธ ์ฐฝ์ด ๋์ค๊ฒ ํด์ผ ํ๊ตฌ๋.” ๋ผ๊ณ ์๊ฐํ์ด์. ์์งํ ์ด๋ ๊ฒ ์ ๋ ๊ฒ ํด๋ณด๋ค๊ฐ ํด๋น ๋ฌธ์ ์ ๋ํ ์ง์ ์ด ์์ด์ ์์น๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ด์.
์ฒซ ๋ฒ์งธ ํด๊ฒฐ ๋ฐฉ๋ฒ - ์ฝ๋ ์์
๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ง๋ง, ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ฝ๋๋ฅผ ์์ ํ๋ ๋ฐฉ๋ฒ์ด์์.
[ ๋ง์ฐ์ค ์ฐํด๋ฆญ > Search for > All referenced ] ๋ฅผ ํตํด ๋ฌธ์์ด์ ๊ฒ์ํด๋ณผ๊ฒ์.
๋ฌธ์์ด์ ๋ณด๋ฉด, ์๋ฌ์ฐฝ์ ๋ฌธ์์ด์ด ๋ณด์ด๋ค์. ํด๋น ๋ฌธ์์ด์ด ์๋ ์ฝ๋๋ก ์ด๋ํด๋ณผ๊ฒ์.
ํด๋น ๋ฌธ์์ด์ด ์๋ ๋ถ๋ถ ์๋ ์ฝ๋๋ฅผ ๋ณด๋ฉด, YEAH ๋ถ๋ถ์ด ๋์ ๋ค์ด์ค๋ค์. ์ฌ๊ธฐ์ YEAH ์ฐฝ์ด ๋์ค๊ฒ ํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ ์ด๋ผ๋ ๊ฒ์ ์ ์ ์์ด์.
์ ๊น ์๊ฐํด๋ณด๋ฉด, ํ๋ก๊ทธ๋จ์ ์คํํ๊ณ ์ด๋ค ์ฐ์ฐ ๊ณผ์ ์ ํตํด Error ๋๋ YEAH ์ฐฝ์ด ๋์ค๊ฒ ํ๋ค๋ ๊ฒ์ ์๊ฐํด๋ณผ ์ ์์ด์. ๊ทธ๋ผ ๋น๊ตํ๋ ํ๋ ๋ถ๋ถ์ด ์์ ๊ฒ์ด๊ณ ๋น๊ตํ๋ ๋ถ๋ถ์ ์ฝ๋๋ฅผ ๋ฐ๊ฟ์ฃผ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ์๊ฐํด๋ณผ ์ ์์ด์.
์ด์ ๋ธ๋ฆฌ์ด์ ๋น๊ตํ๋ ๋ช ๋ น์ด๋ cmp ์ธ๋ฐ์, ์ด ๋ถ๋ถ์ ํ ๋ฒ ๋ณผ๊ฒ์. cmp ๋น๊ต ์ดํ JE ๋ช ๋ น์ด๋ฅผ ํตํด 0040103D ์ฃผ์๋ก ์ด๋ํ๋ ๊ฒ์ ์ ์ ์์ด์.
์ฌ๊ธฐ์ JE ๋ช ๋ น์ด๋ฅผ ์ง๊ณ ๋์ด ๊ฐ๋ณผ๊ฒ์.
๐ก JE ๋ช ๋ น์ด
Jump if Equal์ ์ฝ์๋ก cmp ๋ช ๋ น์ด ๋ค์ ์ค๋ฉฐ, ๋ ๊ฐ์ ๋น๊ตํ์ ๋ ๊ฐ์ด ๊ฐ์ผ๋ฉด ์ํ๋ ์ฃผ์๋ก ์ ํํ๋ ๋ช ๋ น์ด์์.
๋ฐ๋ผ์ JE๋ช ๋ น์ด ๋์ ์ํ๋ ์ฃผ์๋ก ์ ํํ๋ ๋ช ๋ น์ด์ธ JMP๋ฅผ ์ฌ์ฉํ๋ฉด, cmp ์ฐ์ฐ ํ ๋ ๊ฐ์ด ๊ฐ์ง ์์๋ YEAH ์ฐฝ์ ๋์ธ ์ ์๋ ๊ฑฐ์์.
์ด๋ฎค๋ํฐ๋ฒ๊ฑฐ๋ฅผ ํตํด ์ ์ฌ์ง์ฒ๋ผ ์ฝ๋๋ฅผ ์์ ํ ์ ์์ด์. ์ดํ F9๋ก ํ๋ก๊ทธ๋จ์ ์์ํด๋ณผ๊ฒ์.
YEAH ์ฐฝ์ ๋์ ๋ค์. ์ฑ๊ณต์ด์์! ๊ทธ๋ ์ง๋ง, ์ด๋ ๊ฒ ํ๋ฉด ๋ฆฌ๋ฒ์ฑ ์ค๋ ฅ์ด ๋์ง ์์ผ๋ ์ฝ๋๋ฅผ ์ข ๋ ํด์ํด์ ๋ค๋ฅธ ๋ฐฉํฅ์ผ๋ก ํ์ด๋ณผ๊ฒ์.
๋ ๋ฒ์งธ ํด๊ฒฐ ๋ฐฉ๋ฒ - ๋ ์ง์คํฐ ๊ฐ ์์
cmp ์ด์ ์ฐ์ฐ ๊ณผ์ ์ ์ดํดํ๊ณ ๋ ๊ฐ์ด ๊ฐ๊ฒ ๋ ์ง์คํฐ ๊ฐ์ ์์ ํ๋ ๋ฐฉ์์ด์์.ํด๋น ๋ฐฉ๋ฒ์ ์์น ํ๋ ์ค ์ ๊ฐ ์๊ฐํด๋ณธ ๋ฐฉ๋ฒ์ด์์.
cmp ๋ช ๋ น์ด๊ฐ ์๋ค๋ ๊ฑด ์ด๋ค ๊ณผ์ ์ ํตํด ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ต ํ๋ค๋ ๋ป์ผ๋ก ๋ฐ์๋๋ฆด ์ ์์ด์. ๋ฐ๋ผ์ cmp ๋ช ๋ น์ด ์ ์ฝ๋๋ค์ ํ๋ฒ ๋ณผ๊ฒ์.
INC / DEC ๋ช ๋ น์ด๊ฐ ๋ณด์ด๋ค์. ์ฌ๊ธฐ์ INC / DEC ๋ช ๋ น์ด๋ฅผ ์์๋ณผ๊ฒ์.
๐ก INC ๋ช ๋ น์ด
increment์ ๋ป์ผ๋ก, ์คํผ๋๋(ํผ์ฐ์ฐ์) ๊ฐ์ +1 ํด์.
๐ก DEC ๋ช ๋ น์ด
decrement์ ๋ป์ผ๋ก, ์คํผ๋๋(ํผ์ฐ์ฐ์) ๊ฐ์ -1 ํด์.
๋ช ๋ น์ด๋ฅผ ์์์ผ๋, ์ฝ๋๋ฅผ ๋ณผ๊ฒ์.
INC ESI // ESI +1
DEC EAX // EAX -1
JMP SHORT Ceackme_.00401021
INC ESI // ESI +1
INC ESI // ESI +1
DEC EAX // EAX -1
CMP EAX, ESI // EAX, ESI ๋น๊ต
JE SHORT Crackme_.0040103D // EAX, ESI ๊ฐ๋ค๋ฉด, 0040103D ์ฃผ์๋ก ์ ํ
์ ์ฒ๋ผ ์ฝ๋๋ฅผ ํด์ํ ์ ์์ด์. ๋ฐ๋ผ์ CMP ๋ช ๋ น์ด๋ก ๋น๊ตํ๋ ๋ถ๋ถ์์ ๋ ์ง์คํฐ ๊ฐ์ ๊ฐ๊ฒ ํด์ค๋ค๋ฉด, ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ด์.
F2๋ฅผ ์ด์ฉํด์ ๋ธ๋ ์ดํฌ ํฌ์ธํธ๋ฅผ ๊ฑธ์ด๋ณผ๊ฒ์. ๋ธ๋ ์ดํฌ ํฌ์ธํธ๋ฅผ ๊ฑธ๊ณ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ธ๋ ์ดํฌ ํฌ์ธํธ๊ฐ ๊ฑธ๋ฆฐ ๋ถ๋ถ์์ ํ๋ก๊ทธ๋จ์ด ๋ฉ์ถฐ์. ์ดํ ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์คํ ํ ์ ์์ด์.
F9๋ฅผ ์ด์ฉํด์ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด ๋ธ๋ ์ดํฌ ํฌ์ธํธ๊ฐ ๊ฑธ๋ฆฐ ๋ถ๋ถ์์ ํ๋ก๊ทธ๋จ์ด ๋ฉ์ถ ๊ฒ์ ๋ณผ ์ ์์ด์. ์ด๋ F8๋ฅผ ์ด์ฉํ๋ฉด, ํ๋ก๊ทธ๋จ์ ํ ์ค ํ ์ค ์คํ ํ ์ ์์ผ๋ฉฐ, F7๋ฅผ ์ด์ฉํ๋ฉด ํจ์๊ฐ ํธ์ถ๋ ๊ฒฝ์ฐ ํจ์ ๋ด๋ถ๋ก ๋ค์ด๊ฐ ํ ์ค ํ ์ค ์คํ ํ ์ ์์ด์.
์ง๊ธ ์ํฉ์์๋ F8๋ฅผ ์ด์ฉํด ํจ์ ๋ด๋ถ๋ก ๋ค์ด๊ฐ์ง ์๊ณ ์ค๋ง๋ค ์คํ ํ๋ ๋ฐฉ๋ฒ์ด ๋ ์ ํฉํ๋ค๊ณ ์๊ฐํด์ F8๋ฅผ ์ด์ฉํด ์คํ ํด๋ณผ๊ฒ์.
CMP๋ก ๋น๊ตํ๋ ์ฝ๋๊น์ง F8๋ฅผ ์ด์ฉํด ๋ด๋ ค์จ ํ EAX, ESI ๊ฐ์ ๋ณด๋ฉด, ๋ค๋ฅธ ๊ฒ์ ์ ์ ์์ด์. ๋ฐ๋ผ์ EAX, ESI ๊ฐ์ ์์ ํด์ฃผ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ด์.
ํ์ฌ๋ EAX : 00000001 / ESI : 00401003 ๊ฐ์ ๊ฐ์ง๊ณ ์๋๋ฐ์, ESI ๊ฐ์ EAX ๊ฐ์ผ๋ก ์์ ํด๋ณผ๊ฒ์.
์์ ํ ํ, F8๋ฅผ ์ด์ฉํด ํ๋ก๊ทธ๋จ์ ๊ณ์ ์คํํ๋ฉด YEAH ์ฐฝ์ด ๋จ๋ฉฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ์ ์์ด์.
์ ๊ฐ ๋ฌธ์ ๋ฅผ ํ๋ฉฐ ์๊ฒ ๋์์ด์.
- Crack Me ๋ฌธ์ ์ ์ ๊ทผ ๋ฐฉ์
Crack Me ๋ฌธ์ ๋ค์ “๋ฆฌ๋ฒ์ฑ์ ์ด๋ฐ ๋๋์ด์ผ ~” ๋ผ๊ณ ๋ฆฌ๋ฒ์ฑ์ ๋๋์ ์ก๋ ๋ฌธ์ ๋ค์ด๊ธฐ ๋๋ฌธ์ ๋๋ฌด ์ค๋ซ๋์ ๊ณ ๋ฏผํ๋ ๊ฑด ๋ณ๋ก ์ข์ง ์๋ค๊ณ ์๊ฐํด์.
๋ฆฌ๋ฒ์ฑ์ ๋ค ๋ฐฐ์ฐ๊ณ ๋์ ์ด๋ ค์ด ๋ฌธ์ ๋ค์ ํ ๋์ ๊ณ ๋ฏผ๋ค์ ์ฑ์ฅํ ์ ์๋ ๋ฐ๊ฑฐ๋ฆ์ด ๋์ง๋ง, ์ด๋ฐ ๊ธฐ์ด ๋ฌธ์ ๋ค์ ๋๊ณ ๋๋ฌด ์ค๋ซ๋์ ๊ณ ๋ฏผํ๋ ๊ฑด ์๊ฐ์ด ์๊น์ด ๊ฒ ๊ฐ์์. ๋๋ฒ๊ฑฐ, ์ด์ ๋ธ๋ฆฌ์ด, ๋ฆฌ๋ฒ์ฑ์ ๋๋์ ์์๊ฐ๋ค๋ ๊ฐ๋ฒผ์ด ๋๋์ผ๋ก ์ ๊ทผ ํ๋ ๋ฐฉ๋ฒ์ด ์ข์ ๊ฒ ๊ฐ์์.
- ์๋ฌ ๋ฌธ์์ด์ ํ์ฉ
๋๋ฒ๊ฑฐ์ ๋ฌธ์์ด ๊ฒ์ ๊ธฐ๋ฅ์ ์ด์ฉํด์ ์๋ฌ ๋ฌธ์์ด์ ์ฐพ๊ณ ๋ธ๋ ์ดํฌ ํฌ์ธํธ๋ฅผ ์ ํ์ฉํ๋ฉด ๋ฌธ์ ๋ฅผ ์ข ๋ ์ฝ๊ฒ ํด๊ฒฐ ํ ์ ์์ ๊ฒ ๊ฐ์์.
'Wargame > Reversing' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CrackMe] Crack Me 05 ํ์ด (0) | 2022.07.30 |
---|---|
[CrackMe] Crack Me 04 ํ์ด (0) | 2022.07.30 |
[CrackMe] Crack Me 03 ํ์ด (0) | 2022.07.30 |
[CrackMe] Crack Me 02 ํ์ด (0) | 2022.07.28 |
[CrackMe] Crack Me ์์ํ๊ธฐ (0) | 2022.07.18 |
๋๊ธ