так из того же примера, что ты скидывал ссылку на тему.Там пример есть, но что-то не то)
Хотелось бы не только вызывать код внутри dll, но и получать из dll например string с текстом.
Хорошо бы разобраться в этом и выложить готовые исходники с инклудами в ресурсы.
C++:
#include "stdafx.h"
#define RESULT_DECL void*const Result
typedef void (*Native)(struct FFrame& TheStack, RESULT_DECL);
typedef BYTE(__cdecl* GRegisterNative_fnType)(INT iNative, const Native& Func);
GRegisterNative_fnType volatile GRegisterNative_fn = NULL;
void hookCore();
extern "C" __declspec(dllexport)
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID /* lpReserved */)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
{
//MessageBox(nullptr, L"DLL_PROCESS_ATTACH", L"DllMain", MB_OK);
hookCore();
break;
}
case DLL_THREAD_ATTACH:
{
//MessageBox(nullptr, L"DLL_THREAD_ATTACH", L"DllMain", MB_OK);
break;
}
case DLL_THREAD_DETACH:
{
//MessageBox(nullptr, L"DLL_THREAD_DETACH", L"DllMain", MB_OK);
break;
}
case DLL_PROCESS_DETACH:
{
//MessageBox(nullptr, L"DLL_PROCESS_DETACH", L"DllMain", MB_OK);
break;
}
}
return TRUE;
}
void PRIVATE_OnCalled_execDebug(struct FFrame& Stack, RESULT_DECL)
{
MessageBox(nullptr, L"Call delegate PRIVATE_OnCalled_execDebug", L"hook", MB_OK);
}
void hookCore()
{
auto hCore = GetModuleHandleA("Core.dll");
if (hCore) {
MessageBox(nullptr, L"hCore is not null", L"hook", MB_OK);
GRegisterNative_fn = (GRegisterNative_fnType)GetProcAddress(hCore, "?GRegisterNative@@YAEHABQ8UObject@@AEXAAUFFrame@@QAX@Z@Z");
if (GRegisterNative_fn)
{
MessageBox(nullptr, L"GRegisterNative_fn is not null", L"hook", MB_OK);
GRegisterNative_fn(2, &PRIVATE_OnCalled_execDebug);
}
}
}
Стало быть осталось только разобраться как присвоить айди функции из той же темы
Как реализовать вызов из unreal script
Всем доброго утра, дня, вечера, ночи. Задался вопросом как реализовать из unreal script передачу параметра в кастомную dll которую прикрепляешь через cff explorer к fire.dll например. Банально передать текст из unreal script и чтобы эта DLL вывела сообщение в окне. Просто пытаюсь сделать...
mmo-dev.info