1. 2011. 1. 19. 12:02 Library/Hacking & Research
이함수는 MSDN 에 핸들을 반환 한다고 나와있다.
GetModuleHandle : http://msdn.microsoft.com/en-us/library/ms683199(v=vs.85).aspx
분명히 그런데 실제적으로 이함수를 사용하면, 핸들이 아닌 메모리에 매핑된 PE 헤더( 프로세스 시작 ) 주소를 반환 한다.
정말 특이한 경우이다.
확인 해본 결과 로는,
LoadLibrary 함수도 같은 효과를 가져다준다.
LoadLibrary : http://msdn.microsoft.com/en-us/library/ms684175(v=vs.85).aspx
그렇다면 GetProcAddress(<Dinamic Link Library PE Header>,<Export Function Name>)
이렇게 되는것 이고, 여기 관련 함수들은 모두 메모리주소를 반환 하는거다.
직점 어셈블리어를 작성하고 확인해보면 알수 있다.
PUSH ASCII "kernel32.dll"
CALL LoadLibraryA
PUSH ASCII "kernel32.dll"
CALL GetModuleHandleA
두함수 반환값 EAX : 7C7D0000
Posted by Nightly Luna
,
® © Tanny Tales
/ rss