Пользователь
-
Автор темы
- #21
В прошлом сообщении я указал неправильный адрес tickbase_shift_amount, теперь даю нормальный + хук для даблтапа.
C++:
using fnSelectShift = bool(__fastcall*)(void* ecx, void* edx);
fnSelectShift oSelectShift = nullptr;
C++:
bool __fastcall hkSelectShift(void* ecx, void* edx)
{
bool result = oSelectShift(ecx, edx);
if (g_globals.get_global_var<int>("tickbase_shift_amount") == 12)
g_globals.get_global_var<int>("tickbase_shift_amount") = 14;
return result;
}
// in main function after onetap init
oSelectShift = (fnSelectShift)(DWORD)DetourFunction((PBYTE)g_addresses.get_function_address("c_exploits::select_shift"), (PBYTE)hkSelectShift);
C++:
// new tickbase_shift_amount address, max_doubletap_shift not needed
global_variables.push_back( { 0x168034, "tickbase_shift_amount" } );
C++:
address_list.push_back( { reinterpret_cast<void*>(g_onetap.get_onetap_main().current_allocation_address + 0x5F760), "c_exploits::select_shift" } );