Top.Mail.Ru
Перейти к содержанию

Рекомендуемые сообщения

Опубликовано

ПОЛНЫЙ БАЙПАС - УВЕЛИЧЕНИЕ МОЩНОСТИ ДВИГАТЕЛЯ / СЦЕПЛЕНИЯ С ДОРОГОЙ И МНОГОЕ ДРУГОЕ! 
Полностью рабочий байпас для F1 22 (Работает и во всех предыдущих версиях игры, если вы используете другое название процесса, F1 2021, F1 2020, F1 2019 и т.д. и т.п. )

Я создал программу, которая замораживает F1 22 перед проверкой CRC.

  • Чтобы использовать его, просто запустите программу перед запуском F1 22 и запустите игру через Steam в обычном режиме.
  • Как только он запустится, он зависнет, прежде чем открыть окно игры.
  • Затем откройте таблицу cheat engine, прикрепите ее к F1_22.exe и активируйте все скрипты.
  • В окне CMD моей программы вы можете ввести 'y' и нажать enter, чтобы продолжить процесс.
  • Это заставит F1 22 думать, что читы являются законными кодами от Codemasters, минуя проверки целостности и CRC.

Предусмотрена задержка перехода в спящий режим для оптимизации быстрого подключения и приостановки F1_22.EXE процесс, который по умолчанию установлен на 10 мс.
Вы можете поиграть с этим, если это приведет к тому, что вас выгонят из онлайн-игр.
Вы также можете изменить имя процесса (по умолчанию: F1_22.exe ).
Если это работает для других игр или если вы хотите попробовать это, вы можете легко изменить это.
Возможно, это даже сработает, как только выйдет F1 23, поэтому я оставил эту опцию доступной.

Я также включил скрипт Cheat Engine. Чтобы использовать его, вам необходимо установить cheat engine.

Скрытый текст

#include <iostream>
#include <windows.h>
#include <tlhelp32.h>
#include <winternl.h>
 
using namespace std;
 
// Declare the NtSuspendProcess and NtResumeProcess functions
extern "C" NTSTATUS NTAPI NtSuspendProcess(IN HANDLE ProcessHandle);
extern "C" NTSTATUS NTAPI NtResumeProcess(IN HANDLE ProcessHandle);
 
HANDLE hProcess = NULL;
HANDLE hSnapshot = NULL;
NTSTATUS status;
std::string response;
string processName = "F1_22.exe";
 
int CheatActivationSecurity()
{
    while (response != "y")
    {
        if (response == "y")
        {
            status = NtResumeProcess(hProcess);
            if (status != 0)
            {
                cerr << "Error: Failed to resume process." << endl;
                return 1;
            }
        }
        else if (response == "d") // SHOULD OF CHECKED FOR d first i know and no else if
        {
            int delay;
            cout << "Enter delay time in ms: ";
            cin >> delay;
            status = NtResumeProcess(hProcess);
            if (status != 0)
            {
                cerr << "Error: Failed to resume process." << endl;
                return 1;
            }
            Sleep(delay);
            status = NtSuspendProcess(hProcess);
            if (status != 0)
            {
                cerr << "Error: Failed to suspend process." << endl;
                return 1;
            }
            cout << "Attach cheat engine to " << processName << " and activate all the scripts and reply 'y' to continue the process" << endl;
            cout << "Would you like to continue the process (y/n) ? Enter d if you cannot activate the scripts in cheat engine (d)" << endl;
            cin >> response;
        }
    }
}
int main()
{
    bool found = false;
    int SleepTimer = 10;
    string DefaultSettings;
    std::cout << "This Program was made by F1 Modder" << std::endl;
    std::cout << "Default Process name: " << processName << endl;
    std::cout << "Default Sleep Timer: " << SleepTimer << endl;
    std::cout << "Use Default Settings?(y/n) (NO CAPS IN RESPONSE) " << endl;
    std::cin >> DefaultSettings;
    if (DefaultSettings == "n")
    {
        std::cout << "Enter process name: " << endl;
        std::cin >> processName;
        std::cout << "Enter sleep delay (default 10ms): " << endl;
        std::cin >> SleepTimer;
        std::cout << "Updated Process name: " << processName << endl;
        std::cout << "Updated Sleep Timer: " << SleepTimer << endl;
        std::cout << "Waiting for " << processName << " to launch" << endl;
 
    }
    else if (DefaultSettings == "y")
    {
        std::cout << "Waiting for " << processName << " to launch" << endl;
 
    }
    else
    {
        std::cout << "Wrong input. Using defaults" << endl;
        std::cout << "Waiting for " << processName << "to launch" << endl;
    }
 
    PROCESSENTRY32 process;
    process.dwSize = sizeof(process);
 
    // Keep checking for the process until it is found
    while (!found)
    {
        // Create a snapshot of all processes in the system
        hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        if (hSnapshot == INVALID_HANDLE_VALUE)
        {
            cerr << "Error: Failed to create snapshot." << endl;
            return 1;
        }
 
        // Walk the snapshot of the processes, and for each process,
        // display information
        if (Process32First(hSnapshot, &process))
        {
            do
            {
                // Convert process.szExeFile to a std::string
                std::wstring ws(process.szExeFile);
                std::string processNameStr(ws.begin(), ws.end());
 
                // Check if the process name matches the one we're looking for
                if (processName == processNameStr)
                {
                    found = true;
                    break;
                }
            } while (Process32Next(hSnapshot, &process));
        }
 
        // Close the snapshot handle
        CloseHandle(hSnapshot);
 
        // If the process was not found, wait for a while before trying again
        if (!found)
        {
            Sleep(SleepTimer);
        }
    }
 
    // Wait for the process to become available
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, false, process.th32ProcessID);
    if (hProcess == NULL)
    {
        cerr << "Error: Failed to open process." << endl;
        return 1;
    }
    WaitForSingleObject(hProcess, INFINITE);
    CloseHandle(hProcess);
 
    // Attach to the process
    hProcess = OpenProcess(PROCESS_ALL_ACCESS, false, process.th32ProcessID);
    if (hProcess == NULL)
    {
        cerr << "Error: Failed to open process." << endl;
        return 1;
    }
 
    // Suspend the process
    status = NtSuspendProcess(hProcess);
    if (status != 0)
    {
        cerr << "Error: Failed to suspend process." << endl;
        return 1;
    }
 
    // Prompt the user to continue or not
    cout << "Attach cheat engine to " << processName << " and activate all the scripts and reply 'y' to continue the process" << endl;
    cout << "Would you like to continue the process (y/n) ? Enter d if you cannot activate the scripts in cheat engine (d)" << endl;
    cin >> response;
 
    CheatActivationSecurity();
    if (response == "y") //fix the bug at the top here, so it always continues. i am lazy
    {
        status = NtResumeProcess(hProcess);
        if (status != 0)
        {
            cerr << "Error: Failed to resume process." << endl;
            return 1;
        }
    }
 
    // If the user wants to continue, resume the process
    // Close the handle to the process
    CloseHandle(hProcess);
 
    return 0;
}

Скачать

Скачать Cheat Engine с нашего сайта.

Таблица не работает?
Ищи более свежую версию здесь, а лучше используй поиск по сайту.

Возможно есть рабочий трейнер, поищи здесь.

 

istochnik.png

 

×
×
  • Создать...
Вверх