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

Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
4K
Представляю вашему вниманию самую лучшую базу для вашего лоадера. Имя базы: 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, если не хотите забанить все свои ключи при тестах.
Просьба, глупых вопросов не задавать, отвечать не буду!
 

Вложения

Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
15 Июл 2021
Сообщения
32
Реакции[?]
1
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Офигеть, спасибо папаша за такой классный лоадер бирюзового цвета
 
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
4K
Забыл упомянуть! Компильте сочетанием клавиш ctrl+f5, если не хотите забанить все свои ключи при тестах.
 
Пользователь
Статус
Оффлайн
Регистрация
11 Июн 2020
Сообщения
177
Реакции[?]
82
Поинты[?]
0
1) xorstr во мне дохуя.
Пожалуйста, авторизуйтесь для просмотра ссылки.
передо мной стоит и
Пожалуйста, авторизуйтесь для просмотра ссылки.
дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто
Пожалуйста, авторизуйтесь для просмотра ссылки.
и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
__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++:
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++:
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) очень классная защита, вызываюшаяся два раза при автортзации

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

2)
C++:
__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++:
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++:
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:
1) xorstr во мне дохуя.
Пожалуйста, авторизуйтесь для просмотра ссылки.
передо мной стоит и
Пожалуйста, авторизуйтесь для просмотра ссылки.
дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто
Пожалуйста, авторизуйтесь для просмотра ссылки.
и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
__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++:
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++:
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
 
Олдфаг
Статус
Оффлайн
Регистрация
14 Сен 2018
Сообщения
5,780
Реакции[?]
1,665
Поинты[?]
9K
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
4K
Олдфаг
Статус
Оффлайн
Регистрация
4 Янв 2020
Сообщения
2,992
Реакции[?]
1,274
Поинты[?]
4K
1) xorstr во мне дохуя.
Пожалуйста, авторизуйтесь для просмотра ссылки.
передо мной стоит и
Пожалуйста, авторизуйтесь для просмотра ссылки.
дрочит свои. Я говорю: "MegaCoder, съеби нахуй." Даю просто
Пожалуйста, авторизуйтесь для просмотра ссылки.
и все. Говорю: "This technique does not hide strings from sophisticated static analysis tools and memory inspection."

2)
C++:
__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++:
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++:
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
Сделал обновление. Пофиксил все баги, прокомментил отныне почти весь код, пофиксил скрытие окна, подшаманил немного авторизацию. В общем ченджлог большой, пояснять лень, короче юзайте, перекачайте архив с темы!
 
Пользователь
Статус
Оффлайн
Регистрация
11 Июн 2020
Сообщения
177
Реакции[?]
82
Поинты[?]
0
Касательно четвертого пункта, думаю если ты посмотришь немного функцию SetWindowHookEx и ее аргументы, то увидишь что там нужно получить айди потока для выполнения хука, поэтому логичнее использовать FindWindow и ThreadProcessId
Сделал обновление. Пофиксил все баги, прокомментил отныне почти весь код, пофиксил скрытие окна, подшаманил немного авторизацию. В общем ченджлог большой, пояснять лень, короче юзайте, перекачайте архив с темы!
тут я реально серанул в штаны, надо было прочитать доки к этой функции

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

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