Code:
char DLL_NAME[MAX_PATH] = {0};
GetFullPathName("mpgh-cf.dll", MAX_PATH, DLL_NAME, NULL);
HANDLE Proc;
HMODULE hLib;
char buf[50] = {0};
LPVOID RemoteString, LoadLibAddy;
DWORD pID = GetTargetThreadIDFromProcName("crossfire.exe");
Proc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pID);
LoadLibAddy = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(DLL_NAME), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE);
WriteProcessMemory(Proc, (LPVOID)RemoteString, DLL_NAME, strlen(DLL_NAME), 0);
CreateRemoteThread(Proc, 0, 0, (LPTHREAD_START_ROUTINE)LoadLibAddy, (LPVOID)RemoteString, 0, 0);
CloseHandle(Proc);
cout << "\n PID= " << pID << "\n Proc= " << Proc << "\n LoadLibAddy= " << LoadLibAddy << "\n RemoteString= " << RemoteString << "\n DLL_NAME= " << DLL_NAME << "\n";
system("pause");
return true;
Output from the cout is:
PID= 4280
Proc= 0x2bfc
LoadLibAddy= 0x76944bc6
RemoteString= 0x190000
DLL_NAME= C:\Users\Admin\Desktop\mpgh-cf.dll
The inject fails all the time :S (He doesn't inject)
Does some one know what I am doing wrong?