Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых) |
![]() |
eXeL@B —› Программирование —› Нужно подробное описание структуры секции импорта |
Посл.ответ | Сообщение |
|
Создано: 14 декабря 2006 01:03 · Личное сообщение · #1 |
|
Создано: 14 декабря 2006 01:29 · Личное сообщение · #2 |
|
Создано: 14 декабря 2006 01:35 · Личное сообщение · #3 |
|
Создано: 14 декабря 2006 02:57 · Личное сообщение · #4 |
|
Создано: 14 декабря 2006 02:57 · Личное сообщение · #5 proc process_imports pTab,pImageBase ;pTab - RVA таблицы импортов (берем из массива DataDirectory) ;pImageBase - указатель на "память" pusha mov edx,[pTab] add edx,[pImageBase] ;VA таблицы импортов .loop: push edx mov edi,[edx+4*4] ;import address table (её и будем заполнять) mov esi,[edx] ;lookup table (можно сделать просто = import address table, они идентичны) test edi,edi jz .ends ;последний IMAGE_IMPORT_DESCRIPTOR нулевой test esi,esi jnz .ok mov esi,edi .ok: mov ecx,[pImageBase] add esi,ecx add edi,ecx ;VA соответствующих таблиц mov eax,[edx+4*3] add eax,ecx ;VA имени DLL @@: cmp byte[eax],0 jnz @f inc eax jmp @b ;могут быть нули для выравнивания @@: xinvoke LoadLibrary,eax mov edx,eax ;загрузить DLL .po_1_dll: lodsd ;RVA IMAGE_IMPORT_BY_NAME test eax,eax jz .exit_it ;таблица заканчивается нулевым элементом bt eax,31 ;если установлен 31 бит, то импорт по ординалу. jnc .no_ord and eax,0ffffh jmp .getproc .no_ord: add eax,[pImageBase] ;VA IMAGE_IMPORT_BY_NAME add eax,2 ;VA IMAGE_IMPORT_BY_NAME.Name .getproc: push edx xinvoke GetProcAddress,edx,eax ;получить адрес АПИ pop edx stosd ;поместить его на свое место jmp .po_1_dll .exit_it: pop edx add edx,5*4 ;перейти к следующему IMAGE_IMPORT_DESCRIPTOR jmp .loop .ends: pop edx popa ret endp ![]() |
|
Создано: 14 декабря 2006 03:32 · Личное сообщение · #6 NetSpider пишет: Не могу найти нормальное описание структуры секции импорта PE. Хорошо бы какой-нибудь любой сорц по работе с таблицой импорта на языке С++ или в крайнем случае на асме. Если есть у кого-нибудь инфа или сорц киньте плиз. Обратись к первоисточнику http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.doc ----- Сколько ни наталкивали на мысль – все равно сумел увернуться ![]() |
|
Создано: 15 декабря 2006 12:25 · Личное сообщение · #7 |
|
Создано: 16 декабря 2006 00:13 · Личное сообщение · #8 |
![]() |
eXeL@B —› Программирование —› Нужно подробное описание структуры секции импорта |
Эта тема закрыта. Ответы больше не принимаются. |