Helloworld.exeํ์ผ์ windowsPE๋ถ์ ์ค์
1. Section์ ๊ฐ์๋ฅผ ๋ํ๋ด๋ ์์น์ ๊ฐ์ ์ฐพ์ผ์์ค
์์น : 000000EE ๊ฐ์ : 4๊ฐ
2. Optional Header์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ด๋ ์์น์ ๊ฐ์ ์ฐพ์ผ์์ค
์์น : 00 00 00 FC ๊ฐ : E0
3. Address of EntryPoint์ ์ญํ ๋ฐ ์์น์ ๊ฐ์ ์ฐพ์ผ์์ค
์์น : 00 00 01 10 ๊ฐ : 00 00 11 A0
์ญํ : ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ๋ ์์์
4. Image Base ์ญํ ๋ฐ ์์น์ ๊ฐ์ ์ฐพ์ผ์์ค
์์น : 00 00 01 1C ๊ฐ : 00 40 00 00 00
์ญํ : ๊ฐ์ ์ฃผ์ ๋ฐฉ์์์ ๊ธฐ์ค์
5. Section Alignment์ File Alignment์ ์์น์ ๊ฐ์ ์ฐพ์ผ์์ค
SECTION : 1000 FILE : 200
6. ๊ฐ ์น์
์ offset ๋ฐ address ์์ ์์น์ ํฌ๊ธฐ๋ฅผ ์ฐพ์ผ์์ค
TEST SECTION - offset ์์์์น : 1000 // ์ด ํฌ๊ธฐ : 60A4 address ์์์์น : 400 // ์ด ํฌ๊ธฐ : 6200
RDATA SECTION - ์์ ์์น : 8000 // ์ด ํฌ๊ธฐ : 1BB0 ์์์์น : 6600 // ์ด ํฌ๊ธฐ : 1C00
DATA SECTION- ์์ ์์น : A000 // ์ด ํฌ๊ธฐ : 18DC ์์์์น : 8200 // ์ด ํฌ๊ธฐ :E00
7. user32.dll ์ INT์ IAT์ ์์น๋ฅผ ์ฐพ์ผ์์ค
Import์ ์์์์น(RVA) : 965C(965C-8000+6600) = 7C5C
Import์ ์ด ํฌ๊ธฐ : 3C
INT : 977C [7D7C=977C-8000+6600] > 0000 9784 > 00409784(ollydbg๋ก ํ์ธ)
NAME : 9792 [7D92=9792-8000+6600] > user32.dll
IAT : 80E4 [66E4=80E4-8000+6600] > MessageBoxW