示例#1
0
    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;
    }
示例#2
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);
}
示例#3
0
/**
 * 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;
}