Dungeon Master
-
Автор темы
- #1
Такс...Обновил я такой длл на новые паттерны, и сама дллка перестала крашить при инжекте меотодом ManualMap, но у меня не много другой инжектор, есть варик этот как-то пофиксить?
std::cout << "" << std::endl;
std::cout << "Opening csgo.exe ..." << std::endl;
system("start steam://rungameid/730");
HRESULT hr = URLDownloadToFileA(NULL, "скрыта ссылка", appdata.c_str(), 0, 0);
const char* dll_path = appdata.c_str();
const char* proc_name = "csgo.exe";
DWORD proc_id = 0;
while (!proc_id)
{
proc_id = get_proc_id(proc_name);
Sleep(30);
}
auto* const h_proc = OpenProcess(PROCESS_ALL_ACCESS, 0, proc_id);
if (h_proc && h_proc != INVALID_HANDLE_VALUE)
{
const LPVOID nt_open_file = GetProcAddress(LoadLibraryW(L"ntdll"), "NtOpenFile");
if (nt_open_file)
{
char original_bytes[5];
memcpy(original_bytes, nt_open_file, 5);
WriteProcessMemory(h_proc, nt_open_file, original_bytes, 5, nullptr);
}
auto* loc = VirtualAllocEx(h_proc, nullptr, MAX_PATH, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
WriteProcessMemory(h_proc, loc, dll_path, strlen(dll_path) + 1, nullptr);
auto* const h_thread = CreateRemoteThread(h_proc, nullptr, 0, reinterpret_cast<LPTHREAD_START_ROUTINE>(LoadLibraryA), loc, 0, nullptr);
if (h_thread) CloseHandle(h_thread);
}
if (h_proc) CloseHandle(h_proc);
std::cout << "" << std::endl;
std::cout << "Injected!" << std::endl;
std::cout << "" << std::endl;
std::cout << "Opening csgo.exe ..." << std::endl;
system("start steam://rungameid/730");
HRESULT hr = URLDownloadToFileA(NULL, "скрыта ссылка", appdata.c_str(), 0, 0);
const char* dll_path = appdata.c_str();
const char* proc_name = "csgo.exe";
DWORD proc_id = 0;
while (!proc_id)
{
proc_id = get_proc_id(proc_name);
Sleep(30);
}
auto* const h_proc = OpenProcess(PROCESS_ALL_ACCESS, 0, proc_id);
if (h_proc && h_proc != INVALID_HANDLE_VALUE)
{
const LPVOID nt_open_file = GetProcAddress(LoadLibraryW(L"ntdll"), "NtOpenFile");
if (nt_open_file)
{
char original_bytes[5];
memcpy(original_bytes, nt_open_file, 5);
WriteProcessMemory(h_proc, nt_open_file, original_bytes, 5, nullptr);
}
auto* loc = VirtualAllocEx(h_proc, nullptr, MAX_PATH, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
WriteProcessMemory(h_proc, loc, dll_path, strlen(dll_path) + 1, nullptr);
auto* const h_thread = CreateRemoteThread(h_proc, nullptr, 0, reinterpret_cast<LPTHREAD_START_ROUTINE>(LoadLibraryA), loc, 0, nullptr);
if (h_thread) CloseHandle(h_thread);
}
if (h_proc) CloseHandle(h_proc);
std::cout << "" << std::endl;
std::cout << "Injected!" << std::endl;