๋ฆฌ๋ฒ์ฑ ์
๋ฌธ ์ด๋ผ๋ ์ฑ
์ ์ฝ์ผ๋ฉด์ ์ ๊ฒ ๋์์ด ๋์๋ ์ ๋ณด๋ค์ ์กฐ๊ธ ๋
์ด๊ฒ ์ ๊ฒ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ ๋ด์ฉ์
๋๋ค.
์ ๊ฐ ๊ณต๋ถํ ๊ฒ์ ๋ณต์ตํ๊ณ ์ฐพ์๋ณผ ๋ชฉ์ ์ผ๋ก ์ฌ๋ฆฐ ๊ธ์
๋๋ค
ํน์ ํ๋ฆฐ ๋ถ๋ถ์ด ์๋ค๋ฉด ๋๊ธ๋ก ์ง์ ํด์ฃผ์ธ์!
++ ๋ฆฌ๋ฒ์ฑ ์
๋ฌธ ๊ต์ฌ์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ก ๋ฌด๋ฃ ๋ฐฐํฌ ๋์ด์๋ ๋ถ๋ถ์ ์ถ์ฒ๋ฅผ ๋จ๊ธฐ๊ณ ๊ฐ์ ธ์์ต๋๋ค.
[section 4 - PEํ์ผ ๊ธฐ๋ณธ ๊ฐ๋
]
http://www.yes24.com/Product/Goods/27628413
์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ์ํํธ์จ์ด๋ ๋ณดํต ๊ณ ๊ธ์ธ์ด๋ก ๋ง๋ค์ด์ง๋ค. (ex : java, C ..)
ํ๋ก๊ทธ๋จ์ ์คํํ๋ ์ด์์ฒด์ ๋ ๊ณ ๊ธ์ธ์ด๋ฅผ ์ดํดํ ์ ์๋ค. (๊ธฐ๊ณ์ด๋ง ์ดํด๊ฐ๋ฅ)
์ด๋ ๊ฒ ์ด์์ฒด์ ๊ฐ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญ์ ํด์ฃผ๋ ๊ธฐ๋ฅ์ ๋ด๋นํ๋ ๊ฒ์ด ๋ฐ๋ก ์ปดํ์ผ๋ฌ ์ด๋ค.
lucete1230-cyberpolice.tistory.com/157?category=889574 >> ์ฐธ๊ณ ํ๊ธฐ
๊ธฐ๊ณ์ด๋ ํ์ผ๋ก ๋ง๋ค์ด ์ง๋๋ฐ, EXE๋ DLL๊ฐ์ ํ์ฅ์๋ก ๋ง๋ค์ด ์ง๋ค.
์ด๋ฌํ ํ์ผ์ PEํ์ผ์ด๋ผ๊ณ ํ๋ค.(์คํํ์ผ)
PEํ์ผ์ PEํฌ๋งท์ ๋ฐ๋ผ ๋ง๋ค์ด์ผํ๋ค.
PEํฌ๋งท์ด๋? (PE == PEํฌ๋งท)
PE ํฌ๋งท(Portable Executable)์ ์๋์ฐ ์ด์ ์ฒด์ ์์ ์ฌ์ฉ๋๋ ์คํ ํ์ผ, DLL, object ์ฝ๋, FON ํฐํธ ํ์ผ ๋ฑ์ ์ํ ํ์ผ ํ์์ด๋ค. PE ํฌ๋งท์ ์๋์ฐ ๋ก๋๊ฐ ์คํ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๋๋ฐ ํ์ํ ์ ๋ณด๋ฅผ ์บก์ํํ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ฒด์ด๋ค.
์ฆ ์๋์ฐ์์ ๋ง๋ ํ๋ก๊ทธ๋จ์ด ์คํ๋๋ ค๋ฉด ์ค์ํด์ผํ๋ ์ผ์ข
์ ๊ท์น์ด๋ค.
์ด ๊ท์น์ ์งํค์ง ์๋ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฐ๋ก ์คํ๋์ง ์๋๋ค. ๋ฆฌ๋ฒ์ฑ์ ๊ธฐ๊ณ์ด๋ก ๊ตฌ์ฑ๋ ์คํ ํ์ผ์ ๋ถ์ํด์
๋์์ ํ์
ํ๋ ๊ณผ์ ์ด๊ธฐ ๋๋ฌธ์, ๋ฆฌ๋ฒ์๋ ๋ฐ๋์ PEํฌ๋งท์ ๋ํด ์์ธํ ์์์ผ ํ๋ค.
PEํ์ผ ์ข
๋ฅ
์ข
๋ฅ |
์ฃผ์ ํ์ฅ์ |
์คํ ๊ณ์ด |
EXE, SCR |
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณ์ด |
DLL, OCX, CPL, DRV |
๋๋ผ์ด๋ฒ ๊ณ์ด |
SYS, VXD |
์ค๋ธ์ ํธ ํ์ผ ๊ณ์ด |
OBJ |
์๋์ฐ์์ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ --> ์ปดํ์ผ --> ์คํ ํ์ผ ==> PEํ์
PE ํ์ผ์ ํค๋์ ๋ฐ๋(body)๋ก ๊ตฌ์ฑ๋๊ณ ,
ํค๋๋ PEํ์ผ์ด ๋์์ ๋ํ ๊ท์น์ ๋ด๊ณ ์๋ค.
๋ฐ๋๋ ํค๋์ ์ ํ ์๋ ๊ท์น์ ๋ฐ๋ผ ์คํ๋๋ ๊ธฐ๊ณ์ด๋ค์ด ์ ์ฅ๋์ด์๋ค.
rednooby.tistory.com/33
์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ฃผ์๋ฉด pe๊ตฌ์กฐ์ ๋ํด ์์ธํ ์ค๋ช
๋์ด์์ต๋๋ค.
https://rednooby.tistory.com/33
PEํ์ผ์ ๋ถ์ํ ๋ ๋ฐ์ดํฐ๊ฐ ์ด๋์ ์์นํด ์๋์ง ํค๋์ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ฐพ์ ์ ์๋ค.
์ด๋ ์ฌ์ฉํ๋ ๊ฐ์ด ์ฃผ์์ธ๋ฐ ํฌ๊ฒ ์ธ ์ข
๋ฅ์ ์ฃผ์ ํ์์ ์ฌ์ฉํ๊ณ ์๋ค.
์ฃผ์ ์ง์ ๋ฐฉ๋ฒ
- pFile : PE ํ์ผ ๋ด๋ถ์์์ ์คํ์
(ํ์ผ)
- RVA : ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋์ ๋, ๊ธฐ์ค๊ฐ์์ ์ผ๋ง๋ ๋จ์ด์ ธ ์๋์ง๋ฅผ ๋ํ๋ด๋ ์๋ ์์น(๋ฉ๋ชจ๋ฆฌ)
- VA : ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์์ ์ ์ฅ๋๋ ์ค์ ์ฃผ์(๋ฉ๋ชจ๋ฆฌ)
pFile์ PEํ์ผ์ด ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ๋๋์คํฌ์ ์ ์ฅ๋์์ ๋ ์๋ฏธ ์๋ ๊ฐ์ด๋ฉฐ VA์ RVA๋ PEํ์ผ์ด ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋์ ๋ ์๋ฏธ ์๋ ๊ฐ์ด๋ค.
์๋์ฐ์์ DLL (Dynamic Linking Library)์ด๋ผ๋ ๊ฐ๋
์ ์ฌ์ฉํ๊ณ ์๋ค.
๋ง ๊ทธ๋๋ก ํ๋ก๊ทธ๋จ์์ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ ์์ ์ ๋์ ์ผ๋ก ์ฐ๊ฒฐํ๋ค๋ ์๊ธฐ๋ค.
--> ๋ชจ๋ ๊ธฐ๋ฅ์ ์คํ ํ์ผ ์์ ๋ฃ์ผ๋ฉด ๋นํจ์จ์ ์
PE ํ์ผ์๋ DLL์ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํ๋ IAT์ ๋ณด๊ฐ ํฌํจ ๋์ด์๋ค.
IAT
IAT(Import Address Table)์ ์คํ ํ์ผ(PE ํ์ผ)์์ ์ด๋ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ด๋ค ํจ์๋ฅผ ๊ฐ์ ธ๋ค ์ฐ๋์ง ๊ธฐ๋กํด ๋์ ์ ๋ณด์ด๋ค. ๋ก๋๋ PEํ์ผ์ ๋ฉ๋ชจ๋ฆฌ๋ก ๋ก๋ฉํ ๋ IAT์ ๊ธฐ๋ก๋ API์ด๋ฆ์ ์ฐธ์กฐํด์ ์ค์ ์ฃผ์๋ฅผ ์ฐพ์ IAT ์์ API๋ฅผ ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ฅผ ์ ์ด๋๋๋ค. ์ฝ๋์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ ๋ถ๋ถ์ IAT ๋ด๋ถ์ ์๋ ํจ์ ์ฃผ์๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค.
์์ธํ ์ค๋ช
์ ์๋ ๋ธ๋ก๊ทธ ์ฃผ์๋ฅผ ์ฐธ๊ณ ํด์ฃผ์ธ์
yokang90.tistory.com/26
(์ฌ์ค ์ ๋ด๋ ์ ์ดํด๊ฐ ์๋๋ค์..)