Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <windows.h>
- #include <tlhelp32.h>
- int GetProcessID(char* szProcessName)
- {
- PROCESSENTRY32 PE32;
- HANDLE hProcessSnap = INVALID_HANDLE_VALUE;
- hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
- if (hProcessSnap == INVALID_HANDLE_VALUE)
- return FALSE;
- PE32.dwSize = sizeof(PROCESSENTRY32);
- if (!Process32First(hProcessSnap, &PE32))
- {
- CloseHandle(hProcessSnap);
- return FALSE;
- }
- do
- {
- if (!strcmp(szProcessName, PE32.szExeFile))
- {
- CloseHandle(hProcessSnap);
- return PE32.th32ProcessID;
- }
- } while(Process32Next(hProcessSnap, &PE32));
- CloseHandle(hProcessSnap);
- return FALSE;
- }
- HMODULE GetModuleHandleExtern(char *szModuleName, DWORD dwProcessId)
- {
- if( !szModuleName || !dwProcessId )
- return NULL;
- HANDLE hSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwProcessId );
- if( hSnap == INVALID_HANDLE_VALUE )
- return NULL;
- MODULEENTRY32 me;
- me.dwSize = sizeof( MODULEENTRY32 );
- if(Module32First(hSnap, &me))
- {
- while(Module32Next(hSnap, &me))
- {
- if(!strcmp(me.szModule, szModuleName))
- {
- CloseHandle(hSnap);
- return me.hModule;
- }
- }
- }
- CloseHandle(hSnap);
- return NULL;
- }
- void _sendCmd(char* msg)
- {
- int ProcessID = 0, Len = strlen(msg) + 1;
- for (ProcessID = 0; !ProcessID; ProcessID = GetProcessID("gta_sa.exe"))
- ;
- HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID);
- if (hProcess)
- {
- PVOID cmd = VirtualAllocEx(hProcess, 0, Len, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
- WriteProcessMemory(hProcess, cmd, msg, Len, 0);
- DWORD func = (DWORD)GetModuleHandleExtern("samp.dll", ProcessID) + 0x62070;
- HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)func, cmd, 0, 0);
- DWORD dwExitCode = 0;
- if (hThread)
- {
- WaitForSingleObject(hThread, INFINITE);
- GetExitCodeThread(hThread, &dwExitCode);
- }
- VirtualFreeEx(hProcess, cmd, Len, MEM_RELEASE);
- CloseHandle(hThread);
- }
- CloseHandle(hProcess);
- }
- void _sendchat(char* text)
- {
- int ProcessID = 0, Len = strlen(text) + 1;
- for (ProcessID = 0; !ProcessID; ProcessID = GetProcessID("gta_sa.exe"))
- ;
- HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, ProcessID);
- if (hProcess)
- {
- PVOID cmd = VirtualAllocEx(hProcess, 0, Len, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
- WriteProcessMemory(hProcess, cmd, text, Len, 0);
- DWORD func = (DWORD)GetModuleHandleExtern("samp.dll", ProcessID) + 0x4A10;
- HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)func, cmd, 0, 0);
- DWORD dwExitCode = 0;
- if (hThread)
- {
- WaitForSingleObject(hThread, INFINITE);
- GetExitCodeThread(hThread, &dwExitCode);
- }
- VirtualFreeEx(hProcess, cmd, Len, MEM_RELEASE);
- CloseHandle(hThread);
- }
- CloseHandle(hProcess);
- }
- // Headers
- extern "C" __declspec(dllexport) void __cdecl sendCmd(char *msg);
- __declspec(dllexport) void __cdecl sendCmd(char *msg)
- {
- _sendCmd(msg);
- }
- extern "C" __declspec(dllexport) void __cdecl sendchat(char *text);
- __declspec(dllexport) void __cdecl sendchat(char *msg)
- {
- _sendchat(msg);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement