Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Помогите разобраться с IAT! 08.03.06 13:57 Число просмотров: 2001
Автор: Kirka Статус: Незарегистрированный пользователь
|
делал с ImageDirectoryEntryToData из Dbghelp.dll, все работает, но нужно без использования этой dll.
пишу как показано в одной из статей в инете:
HMODULE hModule = GetModuleHandle("Programma.exe");
PIMAGE_DOS_HEADER pDosHeader = (PIMAGE_DOS_HEADER) hModule;
PIMAGE_NT_HEADERS pNTHeaders = (PIMAGE_NT_HEADERS)(hModule + pDosHeader->e_lfanew);
PIMAGE_IMPORT_DESCRIPTOR pImportDesc = (PIMAGE_IMPORT_DESCRIPTOR)( hModule + pNTHeaders->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress);
while(1)
{
char *szModName = (LPSTR) (hModule + pImportDesc->Name);
AfxMessageBox(szModName);
pImportDesc++;
}
данная функция по идее должна перечислять имена всех модулей в таблице импорта.
Так вот почему-то первая строка, на которую указывает szModName - какой-то бессмылсенный набор символов.
А после pImportDesc++ она всегда MZh
Что я делаю не так?
|
- Помогите разобраться с IAT! - Kirka 08.03.06 13:57 [2001]
|
|
|