๋ฌธ์ ๋ ์ฌ๊ธฐ์ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
๋ชฉํ๊ฐ : ํ๋ก๊ทธ๋จ์ OEP(Original Entry Point)
OEP ์ด์ผ๊ธฐ๊ฐ ๋์ค๋ ๊ฑธ ๋ณด๋, ์ด ํ๋ก๊ทธ๋จ์ ํจํน๋์ด ์์ ๊ฒ๋๋ค.
PEid๋ก ํ ๋ฒ ํ์ธํด ๋ด ์๋ค.
UPX๋ก ํจํน์ด ๋์ด์๊ตฐ์.
(UPX ํจํน : PUSHAD๋ก ๋ ์ง์คํฐ ๋ฐฑ์ -> ์์ถํด์ ๋ฃจํด ์คํ -> POPAD๋ก ๋ ์ง์คํฐ ๊ฐ ๋ณต๊ตฌ -> OEP๋ก ์ ํ)
์คํ์ ์์ผ๋ด ์๋ค.
๊ฐ๋จํ ๊ณ์ฐ๊ธฐ ํ๋ก๊ทธ๋จ์ด๋ค์.
์๋ฆฌ์ผ ๊ฐ ๊ฐ์ ๊ฑด ์ ์ฐพ์๋ ๋ ๋ฏํฉ๋๋ค.
๋๋ฒ๊ฑฐ๋ก ์ด์ด๋ณด๊ฒ ์ต๋๋ค.
์ด๋ ๊ฒ PUSHAD ๋ช ๋ น์ด๋ก EAX~EDI ๋ ์ง์คํฐ๋ฅผ ์คํ์ ๋ฐฑ์ ํ๋ ๋ชจ์ต์ ๋ณผ ์ ์์ต๋๋ค.
์ต์ํ ํจํด์ด์ฃ ?
์คํฌ๋กค์ ๋ด๋ฆฌ๋ค๋ณด๋ POPAD ๋ช ๋ น์ ์ฐพ์์ต๋๋ค.
์ด ์์ถ ํด์ ๋ฃจํด์ ๋งจ ๋ฐ์๋ ์๋ณธ ์ฝ๋๋ก ์ด๋ํ๊ธฐ ์ํ JMP ๋ช ๋ น์ด ์์ต๋๋ค.
์ด ๋ช ๋ น์ด ์คํ๋์ด ์ด๋ํ๋ ์ฃผ์๊ฐ ์๋ณธ ์ฝ๋์ ์์์ , OEP ์ ๋๋ค.
์ฌ๊ธฐ์ BP๋ฅผ ๊ฑธ๊ณ , [F9]ํค๋ฅผ ๋๋ฌ BP๊น์ง ์คํํ ๋ค [F8]ํค๋ก ์๋ณธ ์ฝ๋์ ์์น๋ก ์ด๋ํฉ๋๋ค.
์ด๋ ๊ฒ ์์ถ ํด์ ๋ ์ฝ๋๊ฐ ๋ณด์ ๋๋ค.
JMP ๋ฌธ์ ์คํ์ผ๋ก 01012475 ๋ผ๋ ์ฃผ์๋ก ์ด๋ํ์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด OEP๋ 01012475 ๊ฐ ๋๊ฒ ๋ค์.
Auth๋ฅผ ์ด์ฉํด ํ์ธํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
OEP = 01012475
'reverse engineering > CodeEngn' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CodeEngn] Basic RCE L10 ๋ฌธ์ ํ์ด (0) | 2020.12.11 |
---|---|
[CodeEngn] Basic RCE L09 ๋ฌธ์ ํ์ด (0) | 2020.12.09 |
[CodeEngn] Basic RCE L07 ๋ฌธ์ ํ์ด (5) | 2020.12.07 |
[CodeEngn] Basic RCE L06 ๋ฌธ์ ํ์ด (3) | 2020.12.06 |
[CodeEngn] Basic RCE L05 ๋ฌธ์ ํ์ด (5) | 2020.12.05 |