메모리의 DLL을 나타내는 데이터 구조에 대한 사양을 어디에서 찾을 수 있습니까?
문제
구체적으로 IDATA (Imports) 섹션의 데이터 구조가 어떻게 보이는지 알고 싶습니다.
해결책
DLL 파일 형식은 PE (휴대용 실행 파일) 형식 인 EXE 파일의 형식과 동일합니다. 당신은 얻을 수 있습니다 사양의 사본 Microsoft에서. 당신은 또한 시도 할 수 있습니다 WOTSIT 일반 파일 형식 정보.
Windows를 제공합니다 ImageHlp 실행 파일 작업을위한 API. 그만큼 LoadImage
기능은 시작하기에 좋은 곳처럼 보입니다.
당신은 또한 살펴 봐야합니다 "휴대용 실행 파일 형식"장 의 문서화되지 않은 Windows NT. ImageHlp를 사용하여 이진의 여러 부분에서 얻는 방법을 설명하는 것 같습니다. 가장 관심있는 부분은 네 번째 페이지에 있다고 생각합니다. IMAGE_DIRECTORY_ENTRY_IMPORT
PE 파일의 일부.
다른 팁
PE 파일의 구조는 메모리에서 동일한 것 같습니다.
정의 된 구조를 사용할 수 있습니다 winnt.h 기억을 해석합니다.
이러한 구조를 살펴보면 오프셋 (또는 'rva's [1])이 작은 엔디언. 디버거를 사용하지 않고 관련 메모리에서 프로그램을 지적했다면 혼란 스러웠을 것입니다.
1] Microsoft Speak에서.
제휴하지 않습니다 StackOverflow