Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Исходник EAC disabler for goose goose duck

кто прочитал тот будет жить
Премиум
Премиум
Статус
Оффлайн
Регистрация
5 Сен 2022
Сообщения
121
Реакции
22
мооожееет чисто в теории кому то это надо :da:
онли для goose goose duck ворк
Пожалуйста, авторизуйтесь для просмотра ссылки.

eac disabler for goose goose duck:
Expand Collapse Copy
#include <windows.h>
#include <tlhelp32.h>
#include <thread>
#include <chrono>

DWORD GetProcessIdByName(const wchar_t* processName) {
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    if (snapshot == INVALID_HANDLE_VALUE) return 0;

    PROCESSENTRY32W entry = { sizeof(PROCESSENTRY32W) };

    if (Process32FirstW(snapshot, &entry)) {
        do {
            if (_wcsicmp(entry.szExeFile, processName) == 0) {
                CloseHandle(snapshot);
                return entry.th32ProcessID;
            }
        } while (Process32NextW(snapshot, &entry));
    }

    CloseHandle(snapshot);
    return 0;
}

uintptr_t GetModuleBaseAddress(DWORD pid, const wchar_t* moduleName) {
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE | TH32CS_SNAPMODULE32, pid);
    if (snapshot == INVALID_HANDLE_VALUE) return 0;

    MODULEENTRY32W entry = { sizeof(MODULEENTRY32W) };

    if (Module32FirstW(snapshot, &entry)) {
        do {
            if (_wcsicmp(entry.szModule, moduleName) == 0) {
                CloseHandle(snapshot);
                return (uintptr_t)entry.modBaseAddr;
            }
        } while (Module32NextW(snapshot, &entry));
    }

    CloseHandle(snapshot);
    return 0;
}

void ApplyPatches(DWORD pid) {
    uintptr_t moduleBase = 0;
    while (moduleBase == 0) {
        moduleBase = GetModuleBaseAddress(pid, L"GameAssembly.dll");
    }

    if (!moduleBase) {
        return;
    }

    printf("\n[+] base found at: 0x%p\n", (void*)moduleBase);

    HANDLE hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, pid);
    if (!hProcess) {
        printf("[-] failed to open process (%d)\n", GetLastError());
        return;
    }

    uintptr_t addr1 = moduleBase + 0xB00B70;
    BYTE patch[] = { 0xC3 }; // ret

    if (WriteProcessMemory(hProcess, (LPVOID)addr1, patch, sizeof(patch), nullptr)) {
        printf("[+] patch applied\n");
    }
    else {
        printf("[-] failed to patch first method (%d)\n", GetLastError());
    }

    uintptr_t addr2 = moduleBase + 0xB049F0;

    if (WriteProcessMemory(hProcess, (LPVOID)addr2, patch, sizeof(patch), nullptr)) {
        printf("[+] ML Check 1 patched\n");
    }
    else {
        printf("[-] ML Check 1 failed\n");
    }

    uintptr_t addr3 = moduleBase + 0xB04CE0;
    if (WriteProcessMemory(hProcess, (LPVOID)addr3, patch, sizeof(patch), nullptr)) {
        printf("[+] ML Check 2 patched\n");
    }
    else {
        printf("[-] ML Check 2 failed\n");
    }

    CloseHandle(hProcess);
}

int main() {
    DWORD pid = 0;

    while (!pid) {
        printf("[.] Waiting for Goose Goose Duck.exe...\r");
        pid = GetProcessIdByName(L"Goose Goose Duck.exe");
    }

    printf("\n[+] PID: %d\n", pid);

    ApplyPatches(pid);

    printf("\n[+] completed\n");
    return 0;
}
 
Последнее редактирование:
1770318068519.png

какого хуя там делает eac античит для копирки амогуса в связке с гусями
 
Посмотреть вложение 326727
какого хуя там делает eac античит для копирки амогуса в связке с гусями
там скорее всего eos(бесплатная версия еака, и сильно урезанная), но очень странно что такая хуйня работает
ибо eos не дал бы тебе WriteProcessMemory так что... там по моему пустышка, а не античит
 
После того как в твоей хуйне был найден скринграбер я от тебя запущу разве что картинку, ито в виртуалке на втором компе без интернета. Меня больше интересует почему ты не в бане?
 
После того как в твоей хуйне был найден скринграбер я от тебя запущу разве что картинку, ито в виртуалке на втором компе без интернета. Меня больше интересует почему ты не в бане?
ты меня позабавил
 
Назад
Сверху Снизу