Задать вопрос
@rakcheevdmitriy

Проблема с вызовом функции из DLL. Можете помочь?

Здравствуйте.
Я пытаюсь вызвать экспортируемую функцию из dll, но программа завершается с ошибкой. По смещениям я вышел на строку mov eax,[libssp-0.dll!__stack_chk_guard], на которой программа заканчивает свою работу.
Может ли кто-то сказать, в чём здесь проблема и как от неё избавиться?
  • Вопрос задан
  • 2390 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
maaGames
@maaGames
Погроммирую программы
Порушил стек. Скорее всего функция была stdcall, а ты её вызвал как cdecl. Или наоборот. Более подробно хрустальный шар показывать отказывается.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@rakcheevdmitriy Автор вопроса
Функцию экспортирую как: int __declspec(dllexport) main(int argc, char *argv[]).
Вызываю:
int (*DllFunc)();
h = LoadLibraryA((LPCSTR)"D:\\programms\\MinGW\\msys\\1.0\\tor\\tor-dll\\tor-0.2.4.24\\src\\or\\tor.dll");
DllFunc =(int(*) (void)) GetProcAddress(h, (LPCSTR)"main");
DllFunc();

Если это поможет более не ванговать :)
Ответ написан
Комментировать
@Power
Вы экспортируете функцию с двумя аргументами, а импортируете без аргументов. Это неправильно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы