Berserker
Posts: 16657
|
Нельзя писать внутрь моста/переходника хука. Для установки перехвата можно использовать HiHook патчера patcher_x86.dll или API из Эры:
function Splice (OrigFunc, HandlerFunc: pointer; CallingConv: integer; NumArgs: integer; {n} CustomParam: pinteger; {n} AppliedPatch: ppointer): pointer; stdcall;
Original function address (OpenBik first command address)
Your handler address
Calling convention of OpenBik function:
// Left-to-right CONV_PASCAL = CONV_LAST,
// Left-to-right, first three arguments in EAX, EDX, ECX CONV_REGISTER = -102,
// Right-to-left, caller clean-up CONV_CDECL = -103,
// Right-to-left CONV_STDCALL = -104,
// Right-to-left, first argument in ECX CONV_THISCALL = -105,
// Right-to-left, first two arguments in ECX, EDX CONV_FASTCALL = -106,
Number of original function arguments, including those in registers
Two NULL arguments
Your handler must have STDCALL convention and accept void* OrigFunc argument + all other arguments in the same way, as original function would accept
Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
|
|
08.08.2024 00:31 |
|