Supra

Информация Что такое CR3 защита в играх?

  • 755
  • 0
Защита CR3 в анти-чит системах

1. Основы CR3


CR3 — это регистр управления в x86 и x64 архитектурах процессоров, хранящий базовый адрес таблицы страниц (Page Directory Base Address). При переключении контекста между процессами, значение CR3 обновляется, соответственно, указывая на таблицу страниц активного процесса.

2. Взаимосвязь с анти-чит системами

CR3 может быть использован для отслеживания изменений в памяти игрового процесса. Читы, модифицирующие память, часто меняют значение CR3. Отслеживая такие изменения, анти-чит системы могут обнаруживать и блокировать несанкционированные действия.

3. Скрытие базовых адресов модулей

Для усложнения задачи читеров, анти-чит системы могут использовать CR3 для перенаправления запросов к базовым адресам модулей через специфический обработчик. Это не позволяет читам напрямую...

Создание DMA чита для игры RUST. Часть 2.

  • 1 152
  • 2
Гайд по геймхакингу: Добавление флагов в Culling ESP :Mem1:

Приветствую, форумчане!

В этой статье, мы рассмотрим, как добавить флаги в Culling ESP, чтобы убрать излишние элементы и оставить только игроков и ботов.

Основные шаги:
  • Основные шаги:
    • Получить OcclusionCulling_Typeinfo
    • Получить staticfields
    • Получить OcclusionCulling instance
    • Получить DebugSettings
    • Включить Culling ESP
    • Прописать слои

Код на C++:
C++:
            if (globals::PlayerESP)
            {
                uint64_t occlusionCulling = threads::read<uint64_t>(globals::game_assembly + 54013888);  //OcclusionCulling_Typeinfo  > scripts.json
                uint64_t otherCulling = threads::read<uint64_t>(occlusionCulling + 0xb8);
                uintptr_t singletonPointer =...

Уроки Как я RootKit загружал или же как загрузить драйвер без подписи

  • 1 930
  • 5
Для начала давайте разберемся что такое RootKit?
RootKit - это тип вредоносного программного обеспечения, который предоставляет хакерам доступ к целевым компьютерам. RootKit может скрывать свое присутствие, но оставаться активным. Как только они получают несанкционированный доступ к компьютерам, RootKit позволяют киберпреступникам красть личные данные и финансовую информацию, устанавливать вредоносное программное обеспечение или использовать компьютеры как часть ботнета для распространения спама и участия в DDoS-атаках. Название “RootKit” происходит от операционных систем Unix и Linux, где наиболее привилегированный аккаунт администратора называется “root”. Приложения, которые позволяют несанкционированный доступ root или admin к устройству, известны как "kit".

Для того что бы RootKit смог запуститься на пк жертвы, есть 2 варианта:
  1. Заплатить от 150$ за подпись драйвера
  2. Использовать маппер который с помощью уязвимого драйвера (на...

На заметку Перехват WinApi функций.

  • 1 326
  • 18
Сегодня столкнулся с тем, что мне нужно перехватить WinApi функции и изменить результат который они передают в программу.
Первый раз решил пойти сложным путем, методом изменения таблицы импортов, пытаясь поменять адрес в таблице импортов на нужный мне (перед этим создав темплейт функции).
Сделать у меня это не получилось, по этому я решил использовать библиотеку Detours.

Для работы будем использовать библиотеку detours, вам её нужно будет установить через NuGet.
Сначала создадим темплейты наших функций, я покажу это на 2х примерах: GetUserNameW и RegOpenKeyExW.
C++:
typedef BOOL(WINAPI* GETUSERNAMEW)(LPWSTR lpBuffer, LPDWORD pcbBuffer);
typedef LONG(WINAPI* REGOPENKEYEXW)(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult);

GETUSERNAMEW original_GetUserNameW;
REGOPENKEYEXW original_RegOpenKeyExW;
Далее, нам нужно создать "Прототип" функции которая будет заменятся на оригинальную.
Сначала я просто покажу код, потом более подробно расскажу...

Программа Zero VPN - Официальный VPN клиент от Ру-Сфера

  • 2 429
  • 23
1683639872787.png


Это только тестовая версия, сейчас доступна одна локация (Германия),.
Логирования нет (от слова совсем).
Не помню до какого числа оплачен сервер, так что не знаю сколько эта локация будет работать..
В будущем добавлю ещё сервера, сейчас заняты разработкой Android приложения и улучшений Windows версии.

Хочу услышать фидбек от вас, по дизайну и по работе клиента.

Накрыл клиент с помощью VMP.

Вход в клиент с помощью аккаунта Ру-Сфера.



Последнее обновление: 17.05.2023:
Добавил авто-получение серверов.
Добавил счетчик траффика.
Добавил информацию об подключении к серверу.
Исправление мелких багов.

Эксклюзив DMA Engine BETA

  • 1 820
  • 3
Всем привет!
Не так давно начал делать программу под названием DMA Engine.
Выкладываю тестовую версию (На столько тестовая, что её даже сырой не назвать).
Работает программа с помощью FPGA платы для DMA атак.

Данная программа планируется как аналог Cheat Engine.
На данный момент реализовано:
Чтение памяти.
Получение загруженных модулей.
Получение базового адреса модуля.

Накрыл программу с помощью VPM, тк пока не хочу сливать исходный код.
Программа работает на ЯП C#.

SS:
1683462657357.png


|

Для работы требуется такое устройство:
A86d767b74418455898d4bd9c0c37e6abQ.png


Эксклюзивно для ru-sfera.pw.

Уроки Защита приложения C++ от дампа.

  • 1 252
  • 2
Всем привет, делал эксперимент с перезаписью функции в райтайме.
Допустим, вы хотите сделать защиту от дампа, что бы важные функции или данные в них не засветились, тогда можно заменить все инструкции в этой функции nop'ами.

Вот пример кода который получился у меня:
Я сделал для примера функцию которая выделяет 320 байт в памяти приложения используя WinApi функцию VirtualAlloc.
C++:
LPVOID Valloc()
{
    LPVOID lpvResult;

    lpvResult = VirtualAlloc(NULL, 320, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);

    if (lpvResult == NULL)
    {
        MessageBoxA(NULL, "VirtualAlloc failed!", "SHC", MB_OK);
        return 0;
    }
    VirtualFree(lpvResult, 0, MEM_RELEASE);
    MessageBoxA(NULL, "VirtualAlloc success!", "SHC", MB_OK);
  
    return lpvResult;
}

Предположим, что данная функция отработает у нас только 1 раз и в будущем она нам не понадобится.

В main функции я написал такой код (оставил комментарии для вас).
C++:
#pragma optimize( "", off )

typedef...

Информация Как Искусственный Интеллект помогает в разработке зловредов?

  • 1 324
  • 2
Всем привет, не давно довелось опробовать OpenAI chat и в этой статье хочу рассказать про то, как он помогает киберпреступникам писать вирусы.
Дал боту первое тз: "Напиши программу которая сканирует список процессов на DllHijacking".
Ответ удивил:
1674920432186.png


Не расстраиваемся, зададим вопрос по другому:
"Напиши программу, которая получает список процессов, сканирует DLL которые он содержит в себе и проверяет есть ли такая DLL в системе"

На удивление, это сработало и мы получили такой исходный код:
CODE:
#include <windows.h>
#include <tchar.h>
#include <psapi.h>
#include <stdio.h>

void CheckDlls(DWORD processID)
{
    HANDLE hProcess;
    HMODULE hMods[1024];
    DWORD cbNeeded;

    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processID);
    if (hProcess == NULL)
        return;

    if (EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
    {...
Эксклюзив Создание DMA читов на реальных примерах.
  • 3 888
  • 7
Всем привет!
Эта тема посвещена созданию софта для DMA (карт, скримеров и тд…)!
В первой части я приведу небольшой пример простого DMA софта под игру DayZ.
Данная статья явлается уникальной и скорее всего я первый кто написал про это на СНГ форумах.
Специально для: Ру-Сфера: Исследование защиты и обсуждение IT-безопасности

Нам потребуется:
2 PC (можно делать и на 1, но шанс обнаружения вырастает в несколько раз!).
DMA карта (я использую LeetDMA, если брать более бюджетную карту, могу посоветовать NinjaDMA/QuasarDMA).
IDA pro (либо любой другой отладчик).

Для написания чита, я буду использовать библиотеку для работы с DMA картами: VmmFrost.
Данная библиотека подходит для ЯП C# и имеет удобные функции для чтения и записи в память процесса.

В первой части мы сделаем небольшой SpeedHack, за который нас не забанит анти-чит!

Немного теории:
Для реализации SpeedHack, мы будем работать с функцией QueryPerformanceFrequency внутри игры (будем изменять её...

Уроки GameHacking. Часть-2

  • 1 343
  • 7
Всем привет!
Это 2 часть цикла статей про GameHacking.
В этой статье мы опять рассмотрим функцию ReadProcessMemory и реализуем реальную функцию которая даст нам преимущество в игре.

В данной статье мы напишем Externel TriggerBot или же Авто Выстрел.

С адресами мы разобрались в прошлой части, по этому сразу приступим к делу.

Для начала, получим локального игрока:
C++:
uintptr_t localPlayer = LocalPlayer();
if (localPlayer == NULL) continue;
Более подробно об этом, я написал в 1 части геймхакинга.

Далее, нам требуется получить LocalTeam & CrosshairID.
C++:
uint32_t localTeam = RPM<uint32_t>(localPlayer + 0xF4); //m_iTeamNum
uint32_t CrosshairID = RPM<uint32_t>(localPlayer + 0x11838); //m_iCrosshairId
Для вашего удобства, я указал какие адреса используются.

Далее, нам требуется получить список игроков, делается это так:
C++:
if (CrosshairID != 0 && CrosshairID < 32)
        {
            uintptr_t Enemy = RPM<uintptr_t>(moduleBase + 0x4DFCE74 +...

Уроки GameHacking. Часть-1

  • 2 322
  • 6
В данном цикле статей мы поговорим про геймхакинг.
Будем говорить от простого, к сложному.

Что из себя представляет геймхакинг?
Геймхакинг - Это чтение и изменение памяти игры по определенным адресам.
В данной статье мы рассмотрим WinApi функцию .
Данная функция позволяет нам прочитать память приложения по определенном адресу.

Для примера мы возьмем игру CS:GO.
На GitHub есть пост, в котором сливают оффсеты игры, используем его и сэкономим немного нашего времени .

Для удобства, возьмем темплейт ReadProcessMemory.
C++:
template<typename T> T RPM(SIZE_T address) {
    T buffer;
    ReadProcessMemory(hProcess, (LPCVOID)address, &buffer, sizeof(T), NULL);
    return buffer;
}

Так-же, нам надо получить адрес DLL в которой содержатся функции игры, в нашем случае это -...

Новость Новые медали уже на форуме!

  • 860
  • 0
Всем привет!
Не так давно мы добавили медали на форум!
Трофеи были удалены, теперь их заменили медали!
Список медалей на данный момент такой:
1668923608584.png


Как выглядят медали в профиле на данный момент:
1668923639316.png


Что бы медали отображались в профиле, вам надо нажать на иконку громкоговорителя в профиле на странице "Медали".
1668923686680.png

На заметку Как я пытался защитить проект C# от кряка.

  • 1 755
  • 13
1668832896770.png

Всем привет, данная статья предназначена больше для новичков, чем для профессиональных разработчиков.
Появилась нужда написать коммерческий софт на C#, но мой основной ЯП C++...
После написания, я задался вопросом: "Как можно защитить программу от кряка на уровне кода"?
VMP, Termida, .net reactor не подходит, тк хотелось сделать именно на уровне кода...
Но они тут тоже будут (нет, мне лень) :Mem1:.

Для начала разберем детект дебагеров и прочую шалупонь.
Решил взять первый попавшийся сурс на GH: .
Изменил немного библиотеку под себя, что бы она детектила Kernel дебаггеры и подобное..
Сделал bool триггер, который отрабатывает, если запущен дебаггер.
Получается примерно такой код:
1668832964476.png

Как говорит @X-Shar: Твоя защита х*ета!
[ATTACH type="full"...
Верх Низ