![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
Здравствуйте. Читаю туториалы по ассемблеру, взятые с WASM-a. Автор рассказал о массиве структур IMAGE_DATA_DIRECTORY, который состоит из 16 элементов.
Во-первых, немножко непонятно. Объявлено 16 элементов DataDirectory IMAGE_DATA_DIRECTORY 16 dup(<>) А далее идёт табличка только с 15 элементами Паpаметp Инфоpмация 0 Символы экспоpта 1 Символы импоpта 2 Ресуpсы 3 Исключение 4 Безопасность 5 Base relocation 6 Отладка 7 Стpока копиpайта 8 Unknown 9 Thread local storage (TLS) 10 Загpузочная инфоpмация 11 Bound Import 12 Таблица адpесов импоpта 13 Delay Import 14 COM descriptor И на странице 294 самое интересное Код:
К какому элементу массива структур мы обращаемся и почему? Если нам нужно получить VirtualAddress символов импорта, то почему бы просто не написать Код:
|
![]() |
![]() |
![]() |
#2 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
по факту
Код:
Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
http://www.wasm.ru/
13. Туториалы Iczelion'а для печати [Iczelion, обработал krutan] → и на стр 286 автор начинает рассказ о таблице импорта)) |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 23.04.2009
Сообщений: 346
|
![]()
assume edi
![]() mov eax, [edi].OptionalHeader.DataDirectory[sizeof IMAGE_DATA_DIRECTORY*0].VirtualAddress ;0 Символы экспоpта mov eax, [edi].OptionalHeader.DataDirectory[sizeof IMAGE_DATA_DIRECTORY*1].VirtualAddress ;1 Символы импоpта mov eax, [edi].OptionalHeader.DataDirectory[sizeof IMAGE_DATA_DIRECTORY*2].VirtualAddress ;2 Ресуpсы mov eax, [edi].OptionalHeader.DataDirectory[sizeof IMAGE_DATA_DIRECTORY*3].VirtualAddress ;3 Исключение ;etc
Нет, ну правда..
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
![]()
Хочу вытянуть значение Name1 из структуры IMAGE_IMPORT_DESCRIPTOR.
сначала идёт работа с адресом NAme, а потом уже этот "обработанный" адрес посылается в функцию lstrcat, правда фигню какую-то выдаёт: Код:
Код:
Код:
TimeDateStamp = 0 ForwarderChain = 0 ??? Я разные PE-файлы тестировал, у меня во всех нули выдаёт. Вот сам код ПОЛНОСТЬЮ: http://zalil.ru/32462871 |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
таблица импорта | Dimarik | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 22.09.2011 11:26 |
касательно импорта данных из Web | Volodymyr | Microsoft Office Excel | 3 | 14.02.2011 13:38 |
Таблица импорта PE программы | Celestia | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 21.11.2010 16:24 |
Оптимизация импорта из DBF | Marina Andreeva | БД в Delphi | 5 | 15.05.2009 19:09 |
Автоматизация импорта процедур | nerh | Общие вопросы Delphi | 1 | 13.10.2008 22:56 |