Я пытаюсь ввести dll в свой текущий процесс, чтобы найти смещения для разных функций.Получение функции PTR из DLL
У меня есть простая функция внутри моей DLL, которая выглядит следующим образом:
void testfunction()
И им пытается получить функцию PTR через C# приложение.
public IntPtr GetFunctionPointer()
{
IntPtr hLoaded = LoadLibrary("C:\\test\\test.dll");
IntPtr functionPtr = GetProcAddress(hLoaded, "testfunction");
return functionPtr;
}
Функция ptr возвращает 0 каждый раз, хотя функция существует внутри dll. Любая помощь будет оценена по достоинству.
Экспортируется ли? –
Вы имеете в виду __declspec (dllexport) void testfunction()? –
Ну, это делает экспорт функции с измененным именем. Используйте 'dumpbin/exports' в своей DLL, чтобы увидеть фактические имена. Чтобы иметь контроль над экспортированным именем (запретить манипулирование), вам нужно будет использовать файл определения модуля. –