urmem hook

legendabrn

Известный
Автор темы
Проверенный
122
172
крашит когда вызывается функция, в чем проблема?
Код:
urmem::hook hooks;
int sub_48C8D0(char* Format, char ArgList)
{
    return hooks.call<urmem::calling_convention::cdeclcall, int>(Format, ArgList);
}


hooks.install(0x48C8D0, urmem::get_func_addr(sub_48C8D0), urmem::hook::type::call, 5);
1614607900205.png
 
Решение
C++:
urmem::hook hk;

int __cdecl sub_48C8D0(char *format, char argList)
{
    return urmem::call_function<urmem::calling_convention::cdeclcall, int, char *, char>(hk.get_original_addr(), format, argList);
}

hk.install(0x48C8D0, urmem::get_func_addr(&sub_48C8D0), urmem::hook::type::jmp, 5);
вроде так, если это конечно не функция какого-то модуля, если это так, то надо брать от него оффсет (reinterpret_cast<DWORD>(GetModuleHandleA("имя модуля")) + 0x48C8D0)

sc6ut

неизвестный
Модератор
382
1,074
C++:
urmem::hook hk;

int __cdecl sub_48C8D0(char *format, char argList)
{
    return urmem::call_function<urmem::calling_convention::cdeclcall, int, char *, char>(hk.get_original_addr(), format, argList);
}

hk.install(0x48C8D0, urmem::get_func_addr(&sub_48C8D0), urmem::hook::type::jmp, 5);
вроде так, если это конечно не функция какого-то модуля, если это так, то надо брать от него оффсет (reinterpret_cast<DWORD>(GetModuleHandleA("имя модуля")) + 0x48C8D0)
 
  • Влюблен
Реакции: legendabrn

legendabrn

Известный
Автор темы
Проверенный
122
172
C++:
urmem::hook hk;

int __cdecl sub_48C8D0(char *format, char argList)
{
    return urmem::call_function<urmem::calling_convention::cdeclcall, int, char *, char>(hk.get_original_addr(), format, argList);
}

hk.install(0x48C8D0, urmem::get_func_addr(&sub_48C8D0), urmem::hook::type::jmp, 5);
вроде так, если это конечно не функция какого-то модуля, если это так, то надо брать от него оффсет (reinterpret_cast<DWORD>(GetModuleHandleA("имя модуля")) + 0x48C8D0)
инжектится в обычный процесс, и изменяет в самом процессе, а не в модуле
 

legendabrn

Известный
Автор темы
Проверенный
122
172
перечитай что я написал, я тебе написал исправленный код и написал что делать, если функция относится к какому-либо модулю, а не самому приложению.
перечитай что я тебе написал, я инжектирую дллку в обычный процесс, моя дллка хукает функцию НЕ МОДУЛЯ, а процесса
на минхуке идеально работает, и не нужен никакой "код модуля", мне интересен принцип для юрмема на данный момент
 

legendabrn

Известный
Автор темы
Проверенный
122
172
Последнее редактирование: