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

Исходник Clarity.tk v1 fix steam x64

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
12 Янв 2025
Сообщения
57
Реакции
15
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Всем привет, пользователи YouGame!
В прошлой теме я сливал сам чит, но некоторые попросили ликинуть исходники, так что держите!


Пожалуйста, авторизуйтесь для просмотра ссылки.

VT: (это сурсы...)
ss:
1774501884375.png
 
Всем привет, пользователи YouGame!
В прошлой теме я сливал сам чит, но некоторые попросили ликинуть исходники, так что держите!


Пожалуйста, авторизуйтесь для просмотра ссылки.

VT: (это сурсы...)
ss:
Посмотреть вложение 331388
ты просто босссс
 
Всем привет, пользователи YouGame!
В прошлой теме я сливал сам чит, но некоторые попросили ликинуть исходники, так что держите!


Пожалуйста, авторизуйтесь для просмотра ссылки.

VT: (это сурсы...)
ss:
Посмотреть вложение 331388
не можешь помочь?
я сделал простой dll с меседжбоксом и который инжектировал при помощи manualmap в блокнот, добавил несколько дебаг выводов чтобы получить OEP, base адрес и size.
через x64dbg я сдампил секцию с dll, использовав твой код я успешно смог загрузить её в процесс при помощи дампа dll из x64dbg (уже другое решение, не исходник с меседжбоксом), я застрял на стадии резольва импортов пробывал при помощи Scylla сдампить этот регион в виде PE формата и спарсил импорты через этот код:
парсер:
Expand Collapse Copy
#include <Windows.h>
#include <iostream>
#include <vector>
#include <tuple>
#include <iomanip>

int main(int argc, char* argv[])
{
    if (argc < 2)
    {
        std::cout << "usage: tool.exe <path_to_dll>\n";
        return 0;
    }

    const char* path = argv[1];

    HMODULE module = LoadLibraryExA(path, NULL, DONT_RESOLVE_DLL_REFERENCES);
    if (!module)
    {
        std::cout << "failed to load dll\n";
        return 0;
    }

    uintptr_t base = reinterpret_cast<uintptr_t>(module);

    auto dos = reinterpret_cast<PIMAGE_DOS_HEADER>(base);
    auto nt = reinterpret_cast<PIMAGE_NT_HEADERS>(base + dos->e_lfanew);

    auto importDir = nt->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT];

    if (!importDir.VirtualAddress)
    {
        std::cout << "no imports\n";
        return 0;
    }

    auto importDesc = reinterpret_cast<PIMAGE_IMPORT_DESCRIPTOR>(base + importDir.VirtualAddress);

    std::cout << "#include <vector>\n#include <tuple>\n\n";
    std::cout << "std::vector<std::tuple<uint32_t, std::string, std::string>> g_aImports =\n{\n";

    while (importDesc->Name)
    {
        const char* dllName = reinterpret_cast<const char*>(base + importDesc->Name);

        auto thunk = reinterpret_cast<PIMAGE_THUNK_DATA>(base + importDesc->FirstThunk);
        auto origThunk = reinterpret_cast<PIMAGE_THUNK_DATA>(base + importDesc->OriginalFirstThunk);

        while (origThunk->u1.AddressOfData)
        {
            if (!(origThunk->u1.Ordinal & IMAGE_ORDINAL_FLAG))
            {
                auto import = reinterpret_cast<PIMAGE_IMPORT_BY_NAME>(base + origThunk->u1.AddressOfData);
                const char* funcName = reinterpret_cast<const char*>(import->Name);

                uintptr_t iatRVA = (reinterpret_cast<uintptr_t>(thunk) - base);
                std::cout << "    { 0x"
                    << std::hex << iatRVA
                    << ", \"" << dllName
                    << "\", \"" << funcName
                    << "\" },\n";
            }

            ++thunk;
            ++origThunk;
        }

        ++importDesc;
    }

    std::cout << "};\n";

    return 0;
}
файл который я использовал для парсинга это через scylla вначале dump потом dump fix.
сам мой основной код main.cpp:
Код:
Expand Collapse Copy
#define _WINSOCK_DEPRECATED_NO_WARNINGS // ratio + don't care
#define _CRT_SECURE_NO_WARNINGS // ratio + don't care
#include <iostream>
#include <Windows.h>
#include "cheat.h"


#include <vector>
#include <tuple>


std::vector<std::tuple<uint32_t, std::string, std::string>> g_aImports =
{
    { 0xaa5a0130, "?", "?" },
    { 0xaa5a0160, "?", "?" },
    { 0xaa5a0170, "?", "?" },
    { 0xaa5a1578, "?", "?" },
    { 0xaa5a2000, "kernel32.dll", "GetCurrentProcessId" },
    { 0xaa5a2008, "kernel32.dll", "GetCurrentThreadId" },
    { 0xaa5a2010, "kernel32.dll", "GetSystemTimeAsFileTime" },
    { 0xaa5a2018, "kernel32.dll", "InitializeSListHead" },
    { 0xaa5a2020, "kernel32.dll", "QueryPerformanceCounter" },
    { 0xaa5a2030, "user32.dll", "MessageBoxW" },
    { 0xaa5a2040, "vcruntime140.dll", "__std_type_info_destroy_list" },
    { 0xaa5a2048, "vcruntime140.dll", "__C_specific_handler" },
    { 0xaa5a2050, "vcruntime140.dll", "memcpy" },
    { 0xaa5a2060, "ucrtbase.dll", "_cexit" },
    { 0xaa5a2068, "ucrtbase.dll", "_initterm" },
    { 0xaa5a2070, "ucrtbase.dll", "_initialize_onexit_table" },
    { 0xaa5a2078, "ucrtbase.dll", "_initialize_narrow_environment" },
    { 0xaa5a2080, "ucrtbase.dll", "_configure_narrow_argv" },
    { 0xaa5a2088, "ucrtbase.dll", "_seh_filter_dll" },
    { 0xaa5a2090, "ucrtbase.dll", "_initterm_e" },
    { 0xaa5a2098, "ucrtbase.dll", "_execute_onexit_table" },
    { 0xaa5a20a8, "ucrtbase.dll", "__stdio_common_vswprintf" },
    { 0xaa5a20b8, "?", "?" },
    { 0xaa5a20c0, "?", "?" },
    { 0xaa5a20c8, "?", "?" },
    { 0xaa5a20d0, "?", "?" },
    { 0xaa5a20d8, "?", "?" },
    { 0xaa5a20e8, "?", "?" },
    { 0xaa5a2148, "?", "?" },
    { 0xaa5a21e8, "?", "?" },
    { 0xaa5a21f8, "?", "?" },
    { 0xaa5a2278, "?", "?" },
    { 0xaa5a2290, "?", "?" },
    { 0xaa5a2298, "?", "?" },
    { 0xaa5a2320, "?", "?" },
    { 0xaa5a2338, "?", "?" },
    { 0xaa5a2340, "?", "?" },
    { 0xaa5a2348, "?", "?" },
    { 0xaa5a2350, "?", "?" },
    { 0xaa5a2358, "?", "?" },
    { 0xaa5a3060, "?", "?" },
};
int main() {
    // я хз почему но у меня получаеться п росто так получить 0x6000 size
    MEMORY_BASIC_INFORMATION mem;
    uintptr_t base = 0x180000000;
    size_t expected_size = 0x6000;
    uintptr_t scanned = 0;

    while (scanned < expected_size)
    {
        if (!VirtualQuery(reinterpret_cast<void*>(base + scanned), &mem, sizeof(mem)))
        {
            printf("[-] failed to query memory at 0x%llx\n", base + scanned);
            TerminateProcess(reinterpret_cast<HANDLE>(-1), 0);
        }

        scanned += mem.RegionSize;
    }
    printf("[+] memory region is ok, total scanned = 0x%llx\n", scanned);


    void* hack_address = VirtualAlloc(
        nullptr,
        sizeof(cituxs),
        MEM_COMMIT | MEM_RESERVE,
        PAGE_EXECUTE_READWRITE
    );

    if (!hack_address)
    {
        printf("[-] VirtualAlloc failed\n");
        return 0;
    }

    memcpy(hack_address, cituxs, sizeof(cituxs));


    printf("    inited!\n");


    // импорты

    printf("    resolving imports...\n");
    for (const auto& CurrentImport : g_aImports)
    {
        HMODULE hModule = LoadLibraryA(std::get< 1 >(CurrentImport).c_str());
        if (!hModule)
            continue;

        uintptr_t  pFunction = (uintptr_t)GetProcAddress(hModule, std::get< 2 >(CurrentImport).c_str());
        if (!pFunction)
            continue;

        *reinterpret_cast<uintptr_t*>(std::get< 0 >(CurrentImport)) = pFunction;
    }

    printf("    resolved!\n");
    printf("    calling entrypoiny []...\n");
    using DllEntry_t = BOOL(__stdcall*)(void*, DWORD, void*);

    uintptr_t basee = (uintptr_t)hack_address;

    reinterpret_cast<DllEntry_t>(basee + 0x16D4)(
        (void*)basee,
        DLL_PROCESS_ATTACH,
        nullptr
        );
    printf("    called!\n");
}


bool __stdcall DllMain(HANDLE hinstDLL, uintptr_t fdwReason, void* lpReserved)
{
    if (fdwReason == DLL_PROCESS_ATTACH)
    {
        AllocConsole();
        SetConsoleTitleA("clarity.tk [ft.glowesp7]");
        freopen("CONOUT$", "w", stdout);
        CreateThread(0, 0, reinterpret_cast<LPTHREAD_START_ROUTINE>(main), 0, 0, 0);
    }
    return true;
}

крашиться именно на resolving imports
 
ты просто босссс
Всем привет, пользователи YouGame!
В прошлой теме я сливал сам чит, но некоторые попросили ликинуть исходники, так что держите!


Пожалуйста, авторизуйтесь для просмотра ссылки.

VT: (это сурсы...)
ss:
Посмотреть вложение 331388
Extreme Injector v3Platform mismatch detected. You are trying to inject a 32-bit DLL (clarity.dll) into a 64-bit process (steam.exe) which is not supported. выдает ошибку при запуске
 
Extreme Injector v3Platform mismatch detected. You are trying to inject a 32-bit DLL (clarity.dll) into a 64-bit process (steam.exe) which is not supported. выдает ошибку при запуске
береш из архива claritysteam.dll и инжектишь в steam.exe
потом запускаешь ксго и уже в ксго инжекчиш clarity fixer.dll
 
пользовался , все было гуд, сейчас при попытке запустить clarity dll, вылезает ошибка какая то
An error occurred while injecting "clarity (1).dll" into csgo.exe"
System.Exception: The injection method used returned NULL (injection failed),
что делать?
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
пользовался , все было гуд, сейчас при попытке запустить clarity dll, вылезает ошибка какая то
An error occurred while injecting "clarity (1).dll" into csgo.exe"
System.Exception: The injection method used returned NULL (injection failed),
что делать?
скоро буду дома и я посмотрю что с ним
 
Последнее редактирование:
Назад
Сверху Снизу