int main(int argc, char* argv[]){ cmd = "URTX"; uart_puts(cmd); uart_puts("!\n"); HOOK_INSTALL(nl_osvalue((int*)pad_hook_addrs, sizeof(pad_hook_addrs)/sizeof(pad_hook_addrs[0])), hook_padPushButton); HOOK_INSTALL(nl_osvalue((int*)key_hook_addrs, sizeof(key_hook_addrs)/sizeof(key_hook_addrs[0])), hook_keyPushButton); nl_set_resident(); return 0; }
void calchook_install() { uint32_t address = syscall_addrs[ut_os_version_index][e_calc_cmd]; if(address == 0) return; calchook_register(u"ndls_run(", calchook_ndls_run); HOOK_INSTALL(address, calchook); }
/** * Install/enable the hooks */ BOOL InstallSAPGUIHooks (HINSTANCE hInstance) { ghThisInstance = hInstance; // SAPlgpad.exe (Logon Pad) / Saplogon.exe (Logon) if (! HOOK_INSTALL(CSplashWindow_OnPaint, "saplgpad.exe", "?OnPaint@CSplashWindow@@IAEXXZ")) { ASSERT_HOOK_INSTALL(CSplashWindow_OnPaint, "saplogon.exe", "?OnPaint@CSplashWindow@@IAEXXZ"); } // SAPfewui.dll (User Interface Manager) hooks ASSERT_HOOK_INSTALL(CUiObject_IsChecked, "SAPfewui.dll", "?IsChecked@CUiObject@@QBEHXZ"); ASSERT_HOOK_INSTALL(CUiObject_SetChecked, "SAPfewui.dll", "?SetChecked@CUiObject@@UAEXH@Z"); // SAPpcfvd (Version Dialog) hooks LoadLibrary("SAPpcfvd.dll"); // DLL is delay-loaded ASSERT_HOOK_INSTALL(SapPcVersionDialog2, "SAPpcfvd.dll", "SapPcVersionDialog2"); // Check if SAPGUI was already running if (GetModuleHandle("sapguidrw32.dll")) { MessageBox(NULL, APPLICATION_NAME" initialized successfuly!", APPLICATION_NAME, MB_ICONINFORMATION|MB_SYSTEMMODAL); } return TRUE; }