Example 7 Step 1b

From SkullSecurity
Revision as of 14:14, 10 October 2007 by 208.109.123.121 (talk)
Jump to navigation Jump to search

ricelterl

Assembly Language Tutorial
Please choose a tutorial page:

You may find this function useful. I won't be using function pointers since they're a little more confusing.

#include <stdio.h>
#include <windows.h>

typedef void (__fastcall *fcnShowMessage) (const char* message, int unk, int intDisplayUntil, int unk0);
static const fcnShowMessage ShowMessage = (fcnShowMessage) 0x00469380;

BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
	switch(ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		ShowMessage("\x03Loading test plugin v2", 0, GetTickCount() + 30000, 0);
		break;

	case DLL_PROCESS_DETACH:
		ShowMessage("\x03Loading test plugin v2", 0, GetTickCount() + 30000, 0);
		break;
	}

	return TRUE;
}