둘둘리둘둘리둘둘리둘둘리둘둘리둘

Load된 dll에서 함수주소까지(TEB->DLL) 본문

Windows

Load된 dll에서 함수주소까지(TEB->DLL)

dool2ly 2015. 10. 25. 17:45


FS:[18]

 

*TEB

TEB

+0x30 

*PEB (FS:[30])

PEB 

+0x0C 

*LDR 

LDR 

+0x14 

*InMemoryOrderModuleList 

 

+0x1c

*InInitializationOrderModuleList 

InMemoryOrderModuleList 

 

NextEntryLink 

 

+0x10 

ImageBaseAddress 

 

+0x28 

*BaseDllName 

 InInitializationOrderModuleList 

NextEntryLink


+0x08

ImageBaseAddress

 +0x20  *BaseDllName

IMAGE_DOS_HEADER

+0x3C 

Offset to IMAGE_NT_HEADERS

IMAGE_NT_HEADERS

+0x78 

Export Table RVA 

IMAGE_EXPORT_DIRECTORY

+0x1C

Address Table RVA 

 +0x20 

Name Pointer Table RVA

 +0x24 

Ordinal Table RVA



IMAGE_EXPORT_DIRECTORY를 베이스로 Name pointer table에서 찾는 함수이름 offset 카운트

->Ordinal Table에서 카운트*2(Ordinal Number크기가 2byte)

-> Address Table에서 Ordinal Number * 4(Address RVA크기가 4byte)

-> ImageBaseAddress + RVA = 원하는 함수!

'Windows' 카테고리의 다른 글

TEB에서 Heap영역 찾아가기  (0) 2015.10.30
PE header관련 구조체  (0) 2015.10.17
PE 파일 구조 - 2  (0) 2015.10.13
PE 파일 구조 - 1  (0) 2015.10.13
FAT32의 저장방식  (0) 2014.06.25
Comments