Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2012, 15:15   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
Вопрос экспорт из kernel32

Нужно получить адрес экспортируемой функции в kernel32.dll. Делаю по примеру этой статьи: http://www.wasm.ru/article.php?article=green2red01
Однако, у меня вот в этом месте возникает acces violattation (как говорит отладчик)
Код:
		repe cmpsb;строка 96
Очевидно что имеется проблема с ESI. Наверное как-то неправильно обработал IMAGE_EXPORT_DIRECTORY.....
Адрес PE и DOS-заголовков был олучен правильно. 100%. Адрес базы kernel32.dll - это ведь адрес DOS-заголовка, ведь так?
адрес базы я записываю в регистр EBX и дальше с ним работаю. Может быть здесь ошибка?
Вот сам код полностью http://zalil.ru/32516500
Dimarik вне форума Ответить с цитированием
Старый 18.01.2012, 20:06   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вам не проще через GetModuleHandle+GetProcAddress?
или у вас не очень хорошие цели?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.01.2012, 18:29   #3
SnX
Форумчанин
 
Регистрация: 30.10.2009
Сообщений: 114
По умолчанию

Цитата:
Может быть здесь ошибка?
Копировать код из статьи надо правильно, вот и вся ошибка.
И базу лучше через PEB получать.
SnX вне форума Ответить с цитированием
Старый 20.01.2012, 22:22   #4
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
Лампочка

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а вам не проще через GetModuleHandle+GetProcAddress?
или у вас не очень хорошие цели?
Да я просто хотел разобраться что было написано в статье. Но ниче, разобрался)))
Спасибо за уделенное внимание моей проблеме
Dimarik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
*.cds ошибка kernel32.dll Alecs-ok99 БД в Delphi 1 27.02.2011 20:52
Ошибка 'kernel32.dll' [C++] ordoss Помощь студентам 9 14.10.2010 15:35
В kernel32.dll не существует такой функции Rin Общие вопросы Delphi 11 08.09.2010 01:07
kernel32 ошибка 1000 TreadProblem Общие вопросы Delphi 2 10.08.2010 15:17
не удается открыть файл ''kernel32.lib'' Paul_Norck Общие вопросы C/C++ 6 06.07.2009 23:34