C++ Лучшая база для вашего лоадера с использованием сервиса auther.quarc.me. GreenLoader.

bluedream.ltd
bluedream.ltd
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
3,064
Реакции
1,291
Представляю вашему вниманию самую лучшую базу для вашего лоадера. Имя базы: GreenLoader.
Данный лоадер не имеет цели быть на уровне лоадера Неверлуза или того же NiversoLoader, но тем не менее это наилучший экземпляр для обучения, в котором почти каждая строчка кода имеет комментарий с пояснением. Использовать данную базу максимально легко.
База использует сервис auther.quarc.me для авторизации, имеет свой интерфейс, минимальную защиту от кряка, автоматический запуск от имени администратора, вывод статуса и понятный для новичков код с пояснениями. Компилится в Debug/Release x32/x64, в многобайтовой и юникодной кодировке.
Скриншот:
Методы защиты:
Anti-Debug, Anti-Virtualize, CheckProcess, проверка по классу и лейблу окна одновременно.
Защита максимально простая и предназначена исключительно для обучения. При срабатывании защиты произойдет создание лога с тегом Protection и если вы настроите автоматизацию в самом аузере, то у вас будет автобан ключей.
Как использовать?
Открываем файл Backend.h в папке Backend и делаем такие действия:
Указываем тут все как в закомментированном коде:
Вуаля! Теперь вы настроили лоадер под себя. В лоадере используется метод инжекта SetWindowsHookEx, выбрал его потому что он также будет работать в некоторых играх с кернел античитами, по типу Warface и т.д.
В КС:ДЖОУ НЕ ПРОВЕРЯЛСЯ, ТАК ЧТО ПРОСЬБА НИЧЕГО НЕ ПИСАТЬ!
Класс окна можно получить программой winlister(noad), гугл в помощь.
После инжекта лоадер выводит сообщение и скрывается, в скрытом режиме он будет в режиме while(true) выполнять проверки и ждать пока игра закроется, когда вы выйдите из игры длл чита автоматически будет удалена и лоадер закроется сам.
Компильте сочетанием клавиш ctrl+f5, если не хотите забанить все свои ключи при тестах.
Просьба, глупых вопросов не задавать, отвечать не буду!
 

Вложения

Последнее редактирование:
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Офигеть, спасибо папаша за такой классный лоадер бирюзового цвета
 
1) xorstr во мне дохуя.
Пожалуйста, авторизуйтесь для просмотра ссылки.
передо мной стоит и
Пожалуйста, авторизуйтесь для просмотра ссылки.
дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто
Пожалуйста, авторизуйтесь для просмотра ссылки.
и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
Expand Collapse Copy
__forceinline bool CheckProcess()
    {
        std::string szProcesses[] =
        {
            xorstr("HttpAnalyzerStdV5.exe"),
            xorstr("ollydbg.exe"),
            xorstr("x64dbg.exe"),
            xorstr("x32dbg.exe"),
            xorstr("die.exe"),
            xorstr("tcpview.exe"),            // Part of Sysinternals Suite
            xorstr("autoruns.exe"),            // Part of Sysinternals Suite
            xorstr("autorunsc.exe"),        // Part of Sysinternals Suite
            xorstr("filemon.exe"),            // Part of Sysinternals Suite
            xorstr("procmon.exe"),            // Part of Sysinternals Suite
            xorstr("regmon.exe"),            // Part of Sysinternals Suite
            xorstr("procexp.exe"),            // Part of Sysinternals Suite
            xorstr("idaq.exe"),                // IDA Pro Interactive Disassembler
            xorstr("idaq64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ida.exe"),                // IDA Pro Interactive Disassembler
            xorstr("ida64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ImmunityDebugger.exe"), // ImmunityDebugger
            xorstr("Wireshark.exe"),        // Wireshark packet sniffer
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("HookExplorer.exe"),        // Find various types of runtime hooks
            xorstr("ImportREC.exe"),        // Import Reconstructor
            xorstr("PETools.exe"),            // PE Tool
            xorstr("LordPE.exe"),            // LordPE
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("SysInspector.exe"),        // ESET SysInspector
            xorstr("proc_analyzer.exe"),    // Part of SysAnalyzer iDefense
            xorstr("sysAnalyzer.exe"),        // Part of SysAnalyzer iDefense
            xorstr("sniff_hit.exe"),        // Part of SysAnalyzer iDefense
            xorstr("windbg.exe"),            // Microsoft WinDbg
            xorstr("joeboxcontrol.exe"),    // Part of Joe Sandbox
            xorstr("joeboxserver.exe"),        // Part of Joe Sandbox
            xorstr("fiddler.exe"),
            xorstr("tv_w32.exe"),
            xorstr("tv_x64.exe"),
            xorstr("Charles.exe"),
            xorstr("netFilterService.exe"),
            xorstr("HTTPAnalyzerStdV7.exe")
        };
        return false;
    }
Где-то я это уже видел.....
3) URLDownloadToFileA
4) FindWindowA и GetWindowThreadProcessId. а
C++:
Expand Collapse Copy
DWORD GetProcessIdByName(const char* ProcessName)
{
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

    if (hSnap == INVALID_HANDLE_VALUE)
    {
        return NULL;
    }

    PROCESSENTRY32 ProcessEntry;
    ProcessEntry.dwSize = sizeof(ProcessEntry);

    if (!Process32First(hSnap, &ProcessEntry))
    {
        CloseHandle(hSnap);
        return NULL;
    }

    do
    {
        if (!strcmp(ProcessEntry.szExeFile, ProcessName))
        {
            CloseHandle(hSnap);
            return ProcessEntry.th32ProcessID;
        }
    } while (Process32Next(hSnap, &ProcessEntry));

    return NULL;
}
слабо?)

5)
C++:
Expand Collapse Copy
void RenderGui() { //Рендерим интерфейс
        std::string EndFile = getenv(xorstr("APPDATA")); //тут указывайте путь к директории, например APPDATA, temp, windir и т.д
        EndFile += xorstr("\\");
        for (int i = 0; i < 5; i++)
        {
            EndFile += alphabet[abs(int(rand()) % 5)];
        }
        EndFile += xorstr(".dll");
        ImGuiWindow* wnd = ImGui::GetCurrentWindow();
        wnd->DrawList->AddRectFilled(ImVec2(), ImVec2(500, 5), ImColor(0, 164, 115), 10, ImDrawCornerFlags_Top);
        ImGui::PushFont(Medium2);
        ImGui::SetCursorPos(ImVec2(25, 15));
        ImGui::Text(xorstr("GreenLoader"));
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(xorstr("Enter your key:")).x / 2, 65));
        ImGui::Text(xorstr("Enter your key:"));
        ImGui::SetCursorPos(ImVec2(108, 82));
        ImGui::PushItemWidth(285);
        ImGui::InputText(xorstr("###key"), keybuf, IM_ARRAYSIZE(keybuf));
        ImGui::PopItemWidth();
        ImGui::PushFont(Medium);
        ImGui::SetCursorPos(ImVec2(130, 118));
        if (ImGui::Button(xorstr("Auth"), ImVec2(80, 20))) { //Вызываем авторизацию по кнопке
            Protection::AllChecks();
            Authorization();
        }
        ImGui::SetCursorPos(ImVec2(290, 117));
        if (ImGui::Button(xorstr("Inject"), ImVec2(80, 20))) {
            if (Authorization) {
                Protection::AllChecks();
                DownloadCheat(dll_link.c_str(), EndFile.c_str());
                if (Injector(EndFile.c_str())) {
                    status = xorstr("Sucessfully injected");
                }
                while (true) {
                    Protection::AllChecks();
                    if (!FindWindowA(wndclass.c_str(), wndtitle.c_str())) {
                        remove(EndFile.c_str());
                        exit(-1);
                    }
                }
            }
            else
                status = xorstr("Not authorized");
        }
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(status.c_str()).x / 2, 150));
        ImGui::Text(status.c_str());
    }
отступы для лохов :orehus::orehus::orehus:

6) очень классная защита, вызываюшаяся два раза при автортзации

не надо так.
 
1) xorstr во мне дохуя. KN4CK3R передо мной стоит и XorStr.hpp дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто гитхаб кюиса и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
Expand Collapse Copy
__forceinline bool CheckProcess()
    {
        std::string szProcesses[] =
        {
            xorstr("HttpAnalyzerStdV5.exe"),
            xorstr("ollydbg.exe"),
            xorstr("x64dbg.exe"),
            xorstr("x32dbg.exe"),
            xorstr("die.exe"),
            xorstr("tcpview.exe"),            // Part of Sysinternals Suite
            xorstr("autoruns.exe"),            // Part of Sysinternals Suite
            xorstr("autorunsc.exe"),        // Part of Sysinternals Suite
            xorstr("filemon.exe"),            // Part of Sysinternals Suite
            xorstr("procmon.exe"),            // Part of Sysinternals Suite
            xorstr("regmon.exe"),            // Part of Sysinternals Suite
            xorstr("procexp.exe"),            // Part of Sysinternals Suite
            xorstr("idaq.exe"),                // IDA Pro Interactive Disassembler
            xorstr("idaq64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ida.exe"),                // IDA Pro Interactive Disassembler
            xorstr("ida64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ImmunityDebugger.exe"), // ImmunityDebugger
            xorstr("Wireshark.exe"),        // Wireshark packet sniffer
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("HookExplorer.exe"),        // Find various types of runtime hooks
            xorstr("ImportREC.exe"),        // Import Reconstructor
            xorstr("PETools.exe"),            // PE Tool
            xorstr("LordPE.exe"),            // LordPE
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("SysInspector.exe"),        // ESET SysInspector
            xorstr("proc_analyzer.exe"),    // Part of SysAnalyzer iDefense
            xorstr("sysAnalyzer.exe"),        // Part of SysAnalyzer iDefense
            xorstr("sniff_hit.exe"),        // Part of SysAnalyzer iDefense
            xorstr("windbg.exe"),            // Microsoft WinDbg
            xorstr("joeboxcontrol.exe"),    // Part of Joe Sandbox
            xorstr("joeboxserver.exe"),        // Part of Joe Sandbox
            xorstr("fiddler.exe"),
            xorstr("tv_w32.exe"),
            xorstr("tv_x64.exe"),
            xorstr("Charles.exe"),
            xorstr("netFilterService.exe"),
            xorstr("HTTPAnalyzerStdV7.exe")
        };
        return false;
    }
Где-то я это уже видел.....
3) URLDownloadToFileA
4) FindWindowA и GetWindowThreadProcessId. а
C++:
Expand Collapse Copy
DWORD GetProcessIdByName(const char* ProcessName)
{
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

    if (hSnap == INVALID_HANDLE_VALUE)
    {
        return NULL;
    }

    PROCESSENTRY32 ProcessEntry;
    ProcessEntry.dwSize = sizeof(ProcessEntry);

    if (!Process32First(hSnap, &ProcessEntry))
    {
        CloseHandle(hSnap);
        return NULL;
    }

    do
    {
        if (!strcmp(ProcessEntry.szExeFile, ProcessName))
        {
            CloseHandle(hSnap);
            return ProcessEntry.th32ProcessID;
        }
    } while (Process32Next(hSnap, &ProcessEntry));

    return NULL;
}
слабо?)

5)
C++:
Expand Collapse Copy
void RenderGui() { //Рендерим интерфейс
        std::string EndFile = getenv(xorstr("APPDATA")); //тут указывайте путь к директории, например APPDATA, temp, windir и т.д
        EndFile += xorstr("\\");
        for (int i = 0; i < 5; i++)
        {
            EndFile += alphabet[abs(int(rand()) % 5)];
        }
        EndFile += xorstr(".dll");
        ImGuiWindow* wnd = ImGui::GetCurrentWindow();
        wnd->DrawList->AddRectFilled(ImVec2(), ImVec2(500, 5), ImColor(0, 164, 115), 10, ImDrawCornerFlags_Top);
        ImGui::PushFont(Medium2);
        ImGui::SetCursorPos(ImVec2(25, 15));
        ImGui::Text(xorstr("GreenLoader"));
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(xorstr("Enter your key:")).x / 2, 65));
        ImGui::Text(xorstr("Enter your key:"));
        ImGui::SetCursorPos(ImVec2(108, 82));
        ImGui::PushItemWidth(285);
        ImGui::InputText(xorstr("###key"), keybuf, IM_ARRAYSIZE(keybuf));
        ImGui::PopItemWidth();
        ImGui::PushFont(Medium);
        ImGui::SetCursorPos(ImVec2(130, 118));
        if (ImGui::Button(xorstr("Auth"), ImVec2(80, 20))) { //Вызываем авторизацию по кнопке
            Protection::AllChecks();
            Authorization();
        }
        ImGui::SetCursorPos(ImVec2(290, 117));
        if (ImGui::Button(xorstr("Inject"), ImVec2(80, 20))) {
            if (Authorization) {
                Protection::AllChecks();
                DownloadCheat(dll_link.c_str(), EndFile.c_str());
                if (Injector(EndFile.c_str())) {
                    status = xorstr("Sucessfully injected");
                }
                while (true) {
                    Protection::AllChecks();
                    if (!FindWindowA(wndclass.c_str(), wndtitle.c_str())) {
                        remove(EndFile.c_str());
                        exit(-1);
                    }
                }
            }
            else
                status = xorstr("Not authorized");
        }
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(status.c_str()).x / 2, 150));
        ImGui::Text(status.c_str());
    }
отступы для лохов :orehus::orehus::orehus:
1626625474673.png

1) xorstr во мне дохуя. KN4CK3R передо мной стоит и XorStr.hpp дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто гитхаб кюиса и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
Expand Collapse Copy
__forceinline bool CheckProcess()
    {
        std::string szProcesses[] =
        {
            xorstr("HttpAnalyzerStdV5.exe"),
            xorstr("ollydbg.exe"),
            xorstr("x64dbg.exe"),
            xorstr("x32dbg.exe"),
            xorstr("die.exe"),
            xorstr("tcpview.exe"),            // Part of Sysinternals Suite
            xorstr("autoruns.exe"),            // Part of Sysinternals Suite
            xorstr("autorunsc.exe"),        // Part of Sysinternals Suite
            xorstr("filemon.exe"),            // Part of Sysinternals Suite
            xorstr("procmon.exe"),            // Part of Sysinternals Suite
            xorstr("regmon.exe"),            // Part of Sysinternals Suite
            xorstr("procexp.exe"),            // Part of Sysinternals Suite
            xorstr("idaq.exe"),                // IDA Pro Interactive Disassembler
            xorstr("idaq64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ida.exe"),                // IDA Pro Interactive Disassembler
            xorstr("ida64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ImmunityDebugger.exe"), // ImmunityDebugger
            xorstr("Wireshark.exe"),        // Wireshark packet sniffer
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("HookExplorer.exe"),        // Find various types of runtime hooks
            xorstr("ImportREC.exe"),        // Import Reconstructor
            xorstr("PETools.exe"),            // PE Tool
            xorstr("LordPE.exe"),            // LordPE
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("SysInspector.exe"),        // ESET SysInspector
            xorstr("proc_analyzer.exe"),    // Part of SysAnalyzer iDefense
            xorstr("sysAnalyzer.exe"),        // Part of SysAnalyzer iDefense
            xorstr("sniff_hit.exe"),        // Part of SysAnalyzer iDefense
            xorstr("windbg.exe"),            // Microsoft WinDbg
            xorstr("joeboxcontrol.exe"),    // Part of Joe Sandbox
            xorstr("joeboxserver.exe"),        // Part of Joe Sandbox
            xorstr("fiddler.exe"),
            xorstr("tv_w32.exe"),
            xorstr("tv_x64.exe"),
            xorstr("Charles.exe"),
            xorstr("netFilterService.exe"),
            xorstr("HTTPAnalyzerStdV7.exe")
        };
        return false;
    }
Где-то я это уже видел.....
3) URLDownloadToFileA
4) FindWindowA и GetWindowThreadProcessId. а
C++:
Expand Collapse Copy
DWORD GetProcessIdByName(const char* ProcessName)
{
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

    if (hSnap == INVALID_HANDLE_VALUE)
    {
        return NULL;
    }

    PROCESSENTRY32 ProcessEntry;
    ProcessEntry.dwSize = sizeof(ProcessEntry);

    if (!Process32First(hSnap, &ProcessEntry))
    {
        CloseHandle(hSnap);
        return NULL;
    }

    do
    {
        if (!strcmp(ProcessEntry.szExeFile, ProcessName))
        {
            CloseHandle(hSnap);
            return ProcessEntry.th32ProcessID;
        }
    } while (Process32Next(hSnap, &ProcessEntry));

    return NULL;
}
слабо?)

5)
C++:
Expand Collapse Copy
void RenderGui() { //Рендерим интерфейс
        std::string EndFile = getenv(xorstr("APPDATA")); //тут указывайте путь к директории, например APPDATA, temp, windir и т.д
        EndFile += xorstr("\\");
        for (int i = 0; i < 5; i++)
        {
            EndFile += alphabet[abs(int(rand()) % 5)];
        }
        EndFile += xorstr(".dll");
        ImGuiWindow* wnd = ImGui::GetCurrentWindow();
        wnd->DrawList->AddRectFilled(ImVec2(), ImVec2(500, 5), ImColor(0, 164, 115), 10, ImDrawCornerFlags_Top);
        ImGui::PushFont(Medium2);
        ImGui::SetCursorPos(ImVec2(25, 15));
        ImGui::Text(xorstr("GreenLoader"));
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(xorstr("Enter your key:")).x / 2, 65));
        ImGui::Text(xorstr("Enter your key:"));
        ImGui::SetCursorPos(ImVec2(108, 82));
        ImGui::PushItemWidth(285);
        ImGui::InputText(xorstr("###key"), keybuf, IM_ARRAYSIZE(keybuf));
        ImGui::PopItemWidth();
        ImGui::PushFont(Medium);
        ImGui::SetCursorPos(ImVec2(130, 118));
        if (ImGui::Button(xorstr("Auth"), ImVec2(80, 20))) { //Вызываем авторизацию по кнопке
            Protection::AllChecks();
            Authorization();
        }
        ImGui::SetCursorPos(ImVec2(290, 117));
        if (ImGui::Button(xorstr("Inject"), ImVec2(80, 20))) {
            if (Authorization) {
                Protection::AllChecks();
                DownloadCheat(dll_link.c_str(), EndFile.c_str());
                if (Injector(EndFile.c_str())) {
                    status = xorstr("Sucessfully injected");
                }
                while (true) {
                    Protection::AllChecks();
                    if (!FindWindowA(wndclass.c_str(), wndtitle.c_str())) {
                        remove(EndFile.c_str());
                        exit(-1);
                    }
                }
            }
            else
                status = xorstr("Not authorized");
        }
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(status.c_str()).x / 2, 150));
        ImGui::Text(status.c_str());
    }
отступы для лохов :orehus::orehus::orehus:

6) очень классная защита, вызываюшаяся два раза при автортзации

не надо так.
1626625474673.png

 
1) xorstr во мне дохуя. KN4CK3R передо мной стоит и XorStr.hpp дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто гитхаб кюиса и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
Expand Collapse Copy
__forceinline bool CheckProcess()
    {
        std::string szProcesses[] =
        {
            xorstr("HttpAnalyzerStdV5.exe"),
            xorstr("ollydbg.exe"),
            xorstr("x64dbg.exe"),
            xorstr("x32dbg.exe"),
            xorstr("die.exe"),
            xorstr("tcpview.exe"),            // Part of Sysinternals Suite
            xorstr("autoruns.exe"),            // Part of Sysinternals Suite
            xorstr("autorunsc.exe"),        // Part of Sysinternals Suite
            xorstr("filemon.exe"),            // Part of Sysinternals Suite
            xorstr("procmon.exe"),            // Part of Sysinternals Suite
            xorstr("regmon.exe"),            // Part of Sysinternals Suite
            xorstr("procexp.exe"),            // Part of Sysinternals Suite
            xorstr("idaq.exe"),                // IDA Pro Interactive Disassembler
            xorstr("idaq64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ida.exe"),                // IDA Pro Interactive Disassembler
            xorstr("ida64.exe"),            // IDA Pro Interactive Disassembler
            xorstr("ImmunityDebugger.exe"), // ImmunityDebugger
            xorstr("Wireshark.exe"),        // Wireshark packet sniffer
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("HookExplorer.exe"),        // Find various types of runtime hooks
            xorstr("ImportREC.exe"),        // Import Reconstructor
            xorstr("PETools.exe"),            // PE Tool
            xorstr("LordPE.exe"),            // LordPE
            xorstr("dumpcap.exe"),            // Network traffic dump tool
            xorstr("SysInspector.exe"),        // ESET SysInspector
            xorstr("proc_analyzer.exe"),    // Part of SysAnalyzer iDefense
            xorstr("sysAnalyzer.exe"),        // Part of SysAnalyzer iDefense
            xorstr("sniff_hit.exe"),        // Part of SysAnalyzer iDefense
            xorstr("windbg.exe"),            // Microsoft WinDbg
            xorstr("joeboxcontrol.exe"),    // Part of Joe Sandbox
            xorstr("joeboxserver.exe"),        // Part of Joe Sandbox
            xorstr("fiddler.exe"),
            xorstr("tv_w32.exe"),
            xorstr("tv_x64.exe"),
            xorstr("Charles.exe"),
            xorstr("netFilterService.exe"),
            xorstr("HTTPAnalyzerStdV7.exe")
        };
        return false;
    }
Где-то я это уже видел.....
3) URLDownloadToFileA
4) FindWindowA и GetWindowThreadProcessId. а
C++:
Expand Collapse Copy
DWORD GetProcessIdByName(const char* ProcessName)
{
    HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);

    if (hSnap == INVALID_HANDLE_VALUE)
    {
        return NULL;
    }

    PROCESSENTRY32 ProcessEntry;
    ProcessEntry.dwSize = sizeof(ProcessEntry);

    if (!Process32First(hSnap, &ProcessEntry))
    {
        CloseHandle(hSnap);
        return NULL;
    }

    do
    {
        if (!strcmp(ProcessEntry.szExeFile, ProcessName))
        {
            CloseHandle(hSnap);
            return ProcessEntry.th32ProcessID;
        }
    } while (Process32Next(hSnap, &ProcessEntry));

    return NULL;
}
слабо?)

5)
C++:
Expand Collapse Copy
void RenderGui() { //Рендерим интерфейс
        std::string EndFile = getenv(xorstr("APPDATA")); //тут указывайте путь к директории, например APPDATA, temp, windir и т.д
        EndFile += xorstr("\\");
        for (int i = 0; i < 5; i++)
        {
            EndFile += alphabet[abs(int(rand()) % 5)];
        }
        EndFile += xorstr(".dll");
        ImGuiWindow* wnd = ImGui::GetCurrentWindow();
        wnd->DrawList->AddRectFilled(ImVec2(), ImVec2(500, 5), ImColor(0, 164, 115), 10, ImDrawCornerFlags_Top);
        ImGui::PushFont(Medium2);
        ImGui::SetCursorPos(ImVec2(25, 15));
        ImGui::Text(xorstr("GreenLoader"));
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(xorstr("Enter your key:")).x / 2, 65));
        ImGui::Text(xorstr("Enter your key:"));
        ImGui::SetCursorPos(ImVec2(108, 82));
        ImGui::PushItemWidth(285);
        ImGui::InputText(xorstr("###key"), keybuf, IM_ARRAYSIZE(keybuf));
        ImGui::PopItemWidth();
        ImGui::PushFont(Medium);
        ImGui::SetCursorPos(ImVec2(130, 118));
        if (ImGui::Button(xorstr("Auth"), ImVec2(80, 20))) { //Вызываем авторизацию по кнопке
            Protection::AllChecks();
            Authorization();
        }
        ImGui::SetCursorPos(ImVec2(290, 117));
        if (ImGui::Button(xorstr("Inject"), ImVec2(80, 20))) {
            if (Authorization) {
                Protection::AllChecks();
                DownloadCheat(dll_link.c_str(), EndFile.c_str());
                if (Injector(EndFile.c_str())) {
                    status = xorstr("Sucessfully injected");
                }
                while (true) {
                    Protection::AllChecks();
                    if (!FindWindowA(wndclass.c_str(), wndtitle.c_str())) {
                        remove(EndFile.c_str());
                        exit(-1);
                    }
                }
            }
            else
                status = xorstr("Not authorized");
        }
        ImGui::PushFont(Regular);
        ImGui::SetCursorPos(ImVec2(500 / 2 - ImGui::CalcTextSize(status.c_str()).x / 2, 150));
        ImGui::Text(status.c_str());
    }
отступы для лохов :orehus::orehus::orehus:

6) очень классная защита, вызываюшаяся два раза при автортзации

не надо так.
Касательно четвертого пункта, думаю если ты посмотришь немного функцию SetWindowHookEx и ее аргументы, то увидишь что там нужно получить айди потока для выполнения хука, поэтому логичнее использовать FindWindow и ThreadProcessId
Сделал обновление. Пофиксил все баги, прокомментил отныне почти весь код, пофиксил скрытие окна, подшаманил немного авторизацию. В общем ченджлог большой, пояснять лень, короче юзайте, перекачайте архив с темы!
 
Касательно четвертого пункта, думаю если ты посмотришь немного функцию SetWindowHookEx и ее аргументы, то увидишь что там нужно получить айди потока для выполнения хука, поэтому логичнее использовать FindWindow и ThreadProcessId
Сделал обновление. Пофиксил все баги, прокомментил отныне почти весь код, пофиксил скрытие окна, подшаманил немного авторизацию. В общем ченджлог большой, пояснять лень, короче юзайте, перекачайте архив с темы!
тут я реально серанул в штаны, надо было прочитать доки к этой функции

у лоадера произошел жесткий импрув, но все равно его до сих пор можно крякнуть с помощью Cheat Engine
большой ошибкой является то, что переменная serverbool является static + если после авторизации ввести неправильный ключ то оно вернется к false, что добавляет еще большего удобства для скана

как по мне, нужно убрать static у serverbool + сделать mem integritycheck
 
Назад
Сверху Снизу