#include <windows.h>
#include <stdio.h>
char filename[] = "winamp.exe";
char data[] = "Bend";
void main()
{
STARTUPINFO sI;
PROCESS_INFORMATION pI;
ZeroMemory( &sI, sizeof(sI) );
sI.cb = sizeof(sI);
ZeroMemory( &pI, sizeof(pI) );
// creiamo il processo con CREATE_SUSPENDED
// per fare le nostre modifiche
CreateProcess(
filename,
NULL,NULL,NULL,
false,
DEBUG_ONLY_THIS_PROCESS|CREATE_SUSPENDED,
NULL,NULL,
&sI,&pI);
HANDLE hProc = pI.hProcess;
HANDLE hMainT = pI.hThread;
// applichiamo la patch
DWORD junk;
WriteProcessMemory(hProc,(LPVOID)0x459461,(LPVOID) &data,4,&junk);
// ripristiniamo l'esecuzione
ResumeThread(hMainT);
// ci separiamo da winamp
DebugActiveProcessStop(pI.dwProcessId);
}