Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include "stdio.h"
- #include "windows.h"
- typedef HINSTANCE (*fpLoadLibrary)(char*);
- int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
- {
- char dir[1024] = {0};
- char param[1024] = {0};
- STARTUPINFO siStartupInfo;
- PROCESS_INFORMATION piProcessInfo;
- memset(&siStartupInfo, 0, sizeof(siStartupInfo));
- memset(&piProcessInfo, 0, sizeof(piProcessInfo));
- siStartupInfo.cb = sizeof(siStartupInfo);
- GetCurrentDirectory(512, dir);
- GetCurrentDirectory(512, param);
- strcat(dir, "\\sro_client.exe");
- strcat(param, "\\sro_client.exe 0 /4 0 0");
- CreateProcessA(dir, param, 0, 0, false, CREATE_DEFAULT_ERROR_MODE, 0, 0, &siStartupInfo, &piProcessInfo);
- SuspendThread(piProcessInfo.hProcess);
- SuspendThread(piProcessInfo.hThread);
- HANDLE hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_CREATE_THREAD, false, piProcessInfo.dwProcessId);
- BYTE JMP = 0xEB;
- WriteProcessMemory(hProcess,ULongToPtr(0x633D6C), &JMP, sizeof(JMP), NULL);
- if(hProcess != NULL)
- {
- LPVOID paramAddr = 0;
- HINSTANCE hDll = LoadLibrary("kernel32");
- fpLoadLibrary LoadLibraryAddr = (fpLoadLibrary)GetProcAddress(hDll, "LoadLibraryA");
- char* dll_path = "BetaDev.dll";
- paramAddr = VirtualAllocEx(hProcess, 0, strlen(dll_path)+1, MEM_COMMIT, PAGE_READWRITE);
- WriteProcessMemory(hProcess, paramAddr, dll_path, strlen(dll_path)+1, NULL);
- CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)LoadLibraryAddr, paramAddr, 0, 0);
- CloseHandle(hProcess);
- }
- ResumeThread(piProcessInfo.hThread);
- ResumeThread(piProcessInfo.hProcess);
- return 0;
- }
Add Comment
Please, Sign In to add comment