Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
umbra — Внешний оверлей для игр, доступный только для чтения, для Linux. Производные смещения, составные скелеты, опциональный модуль ядра для чтения памяти независимо от ptrace и ввод на уровне указателей. | Kitploit
Инструменты/GitHubGitHub/ymsniper/umbra
Криминалистика памятиЭксплуатацияОбратная инженерияRed Teaming
GitHubymsniper/umbra

umbra

Внешний оверлей для игр, доступный только для чтения, для Linux. Производные смещения, составные скелеты, опциональный модуль ядра для чтения памяти независимо от ptrace и ввод на уровне указателей.

Репозиторий
311 день назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Umbra

Внешний оверлей для THE FINALS на Linux.

Он читает память игры из отдельного процесса, рисует прозрачное окно без перехвата кликов поверх игры и предоставляет аим-ассист и триггербот. В игру ничего не инжектится и ничего не записывается обратно; инструмент читает память и двигает мышь — и это всё.

Создан с нуля на Linux: каждый игровой оффсет в этом репозитории был получен путём наблюдения за запущенным процессом, а не скопирован из опубликованного SDK-дампа.

https://github.com/user-attachments/assets/674baa52-3006-4767-a263-29178bed3a31


Требования

  • SFML 3.x: не 2.x, старый API удалён
  • ImGui-SFML, собранный против SFML 3
  • libX11 и libXext, CMake 3.16+, компилятор C++17
  • X11 или XWayland. Чистый Wayland не подойдёт: оверлею нужен XShape для кликов насквозь и глобального опроса горячих клавиш, а Wayland намеренно не даёт внешнему процессу ни того, ни другого. Подойдёт любой рабочий стол; требование — X11, а не конкретное DE.
  • Игра, запущенная под Proton или Wine, в режиме Windowed, а не Fullscreen, чтобы оверлей мог рисовать поверх неё

Arch / CachyOS

root@kitploit:~
sudo pacman -S --needed base-devel cmake sfml libx11 libxext
paru -S imgui-sfml

Ubuntu 24.04+ / Debian 13+

root@kitploit:~
sudo apt install build-essential cmake libsfml-dev libx11-dev libxext-dev
pkg-config --modversion sfml-graphics    # должно быть 3.x

ImGui-SFML там не упакован, и его нужно собирать из исходников.

В REQUIREMENTS.md описано остальное: сборка SFML 3 и ImGui-SFML из исходников, заголовки ядра для модуля, Secure Boot, ptrace_scope и как проверить рабочую конфигурацию.

Протестировано на

root@kitploit:~
CachyOS                ядро 7.1.2-3-cachyos, собрано с clang 22.1.6
KDE Plasma 6.7.2       сессия Wayland, оверлей работает через XWayland
SFML 3.1.0             CMake 4.3.4, GCC 16.1.1
Intel UHD + RTX 4060   игра под Proton, Windowed

Две части этого стоит выделить, потому что это неудобные случаи:

  • Это сессия Wayland. Оверлей не работает на Wayland нативно, и ему это не нужно: игра работает под XWayland, и оверлей тоже, а X11-клики насквозь и горячие клавиши работают внутри него нормально. Если вы на Wayland — это та конфигурация, которая работает.
  • Ядро собрано с clang, что необычно, и именно для этого существует определение тулчейна в модуле. На ядре с GCC модуль идёт по другой ветке — это распространённый случай, но менее проверенный здесь.

Это рабочая машина разработчика, поэтому это единственная конфигурация, которая реально проверена. Ожидается, что другие дистрибутивы, рабочие столы и ядра, собранные с GCC, будут работать, но они не тестировались.


Сборка

root@kitploit:~
chmod +x build.sh run.sh   # при скачивании zip-архивом теряется бит исполняемости
./build.sh                 # настройка и сборка
./build.sh clean           # из свежего каталога сборки

Бинарник записывается в build/TheFinals.

CMake хранит абсолютный путь к исходникам в своём кеше, поэтому каталог сборки, перенесённый при перемещении или переименовании, перестаёт работать. build.sh замечает это и перенастраивается сам, так что о перемещении проекта можно не думать.


Модуль ядра (опционально, незаметнее)

kmod/ собирает небольшой модуль, который делает инструмент значительно тише в системе. Он полностью опционален: без него всё тоже работает, используя перечисленные ниже фолбэки в пользовательском пространстве.

  • Чтение памяти идёт через access_process_vm() в пространстве ядра, поэтому ptrace_scope не применяется. Инструменту не нужен sudo, ничто не должно подключаться к игре, и yama не нужно ослаблять для всей системы.
  • Ввод мыши инжектится в реальный указатель вместо виртуального uinput-устройства. Без модуля инструменту приходится создавать его, а виртуальное устройство ввода можно перечислить: оно появляется в /proc/bus/input/devices для любого, кому захочется посмотреть. С модулем дополнительного устройства нет вообще.
root@kitploit:~
cd kmod && make
sudo insmod suite_kmod.ko

Модуль должен быть собран тем же компилятором, что и ядро, в которое он загружается. Makefile читает это из конфигурации самого ядра и сам задаёт тулчейн, так что обычный make корректен и на ядре с GCC, и на ядре с clang:

root@kitploit:~
  kernel   7.1.2-3-cachyos
  toolchain clang (LLVM=1)

Переопределите с помощью make LLVM=0 или make LLVM=1, если он вдруг ошибётся. Если заголовки ядра отсутствуют, он сообщит об этом и выведет команду установки для вашего дистрибутива.

При включённом Secure Boot неподписанный модуль не загрузится: подпишите его, отключите Secure Boot или просто пропустите модуль.

Загружайте его до запуска инструмента; бэкенд выбирается один раз, при старте.

Проверьте, какой бэкенд активен, в меню или в логе:

root@kitploit:~
[mem] kernel backend: /dev/suite_kmod
[vmouse] kernel injection into the real pointer

Выгрузите с помощью sudo rmmod suite_kmod.


Запуск

Сначала переключите игру в режим Windowed. В Fullscreen игра полностью владеет дисплеем, и ничто не может рисовать поверх неё, так что оверлей будет работать корректно, но оставаться невидимым.

Оверлей находит окно игры и подстраивается под его позицию и размер, перепроверяя по ходу дела, так что он следует за окном, если вы его перемещаете или меняете размер, и адаптируется к любому разрешению.

root@kitploit:~
./run.sh                # сам находит PID игры
./run.sh 12345          # или укажите его вручную
./run.sh -q             # тихий режим: только несколько строк статуса

Запускайте когда угодно, в том числе в меню. Он заново резолвит свои объекты при начале или конце матча, так что перезапуск между раундами не нужен.

Управление

КлавишаДействие
INSERTПереключение меню настроек. Пока оно открыто, оверлей перехватывает клики мыши; пока закрыто — клики проходят в игру.
HOMEПереключение аим-ассиста.
EndВыход, когда оверлей в фокусе. Ctrl-C в терминале тоже работает.

Настройки редактируются в меню и сохраняются в settings.cfg при выходе из инструмента, так что он возвращается в том виде, в котором вы его оставили.


Возможности

ESP

Боксы, скелеты, имена, полоски здоровья, дистанция и снаплайны. Цвета отрядов различают команды, а общий ползунок непрозрачности управляет всем, что рисуется.

Скелет составляется из собственной иерархии костей меша, поэтому он следует за анимацией, а не аппроксимируется из капсулы.

Аим-ассист

Тянет к цели, пока зажата выбранная кнопка мыши.

  • Выбор цели: ползунок смещения между «ближайший ко мне» и «ближайший к прицелу», так что можно взять игрока за ближайшим, наведясь на него.
  • Сглаживание: режим делителя и режим инерции (EMA).
  • Липкость: удерживает текущую цель, если претендент не явно лучше, вместо прыганья между двумя врагами под похожими углами.
  • Выбор кости: голова, грудь, тело или ноги, с прицеливанием в реальный сустав, когда скелет резолвится.
  • Предикция: ведёт движущуюся цель по её скорости. Без этого прицел отстаёт от движущейся головы на постоянную величину, потому что позиция, которую он получил, уже устарела на кадр к моменту движения мыши.
  • Quick scope: отпускает прицел в момент выстрела, так что отдачу снайперской винтовки вы контролируете сами, а не ассист с ней борется. Он перевзводится при следующем нажатии ADS или через задержку, если вы её задали. Нужно удерживать прицел на правой кнопке мыши, поскольку выстрел должен быть отдельной кнопкой от прицеливания.

Триггербот

Стреляет, когда прицел на цели.

  • При активном аим-ассисте стреляет только тогда, когда прицел достиг точной точки, к которой тянет ассист.
  • Сам по себе работает от скелета (выбранной кости или любой кости) или от капсульного бокса.
  • Допуск масштабируется с размером цели на экране, поэтому одна настройка ведёт себя одинаково и в упор, и через всю карту. Фиксированный пиксельный допуск так не может: на дистанции несколько пикселей покрывают целую голову, в упор — это лишь её часть.
  • Задержка взвода (после нажатия кнопки), задержка реакции (после попадания прицела на цель), длительность клика и кулдаун — всё настраивается.

Видимость

Игроки, которых игра в данный момент не отрисовывает, перечёркиваются и затемняются, а аим-ассисту и триггерботу можно отдельно указать игнорировать их.

Это выводится из собственной временной метки рендера движка, поэтому по своей природе консервативно: игра отсекает по ограничивающему боксу, который больше игрока, а запросы окклюзии отстают на кадр-два. Ожидайте, что враг будет помечен как видимый чуть раньше, чем полностью выйдет из-за угла. Ползунок допуска управляет тем, как быстро кто-то выпадает из видимых после потери линии видимости.


Оффсеты

Каждый игровой адрес находится в offsets.cfg, который читается при старте из рабочего каталога или на один уровень выше.

Инструмент отказывается запускаться без него и называет всё, чего не хватает. Это намеренно: оффсет, который молча равен нулю, даёт пустой экран без объяснений, что диагностировать гораздо хуже, чем явный сбой.

Обновление игры сдвигает их. Когда это происходит, инструмент запускается, но ничего не находит. Выведите оффсеты заново и скопируйте новый offsets.cfg сюда. Пересборка не нужна.


Структура

root@kitploit:~
README.md             этот файл
REQUIREMENTS.md        зависимости и как их установить
LICENSE               GPL-2.0
build.sh              скрипт сборки
run.sh                лаунчер
banner.txt            стартовый баннер
offsets.cfg           игровые оффсеты (обязательно)
CMakeLists.txt
src/
  main.cpp              точка входа, окно оверлея, цикл рендера
  mem.hpp               чтение памяти процесса
  cheat.hpp             поток чтения, список сущностей
  render.hpp            отрисовка ESP, аим-ассист, триггербот, меню
  global.hpp            состояние, общее для потоков чтения и рендера
  structs.hpp           типы движка и проекция мир-на-экран
  skeleton.hpp          композиция иерархии костей
  settings.hpp          загрузка и сохранение settings.cfg
  vmouse.hpp            вывод мыши
  offsets.hpp           фиксированные константы раскладки движка
  runtime_offsets.hpp   загрузчик offsets.cfg
  gobjects_direct.hpp   декодирование массива объектов
kmod/
  suite_kmod.c          модуль ядра: чтение памяти и инжект мыши
  suite_kmod.h          общий ioctl-контракт
  Makefile

settings.cfg создаётся при первом выходе из инструмента.


Устранение неполадок

offsets.cfg not found: запускайте из каталога проекта или держите файл рядом с бинарником.

offsets.cfg is present but incomplete: оффсеты, которые он называет, равны нулю. Скорее всего, игра обновилась; выведите их заново.

На экране ничего не появляется, но лог выглядит здоровым: вероятно, игра в Fullscreen, который не даёт ничему рисовать поверх. Переключите её в Windowed. Строка лога game window at X,Y WxH - overlay will match подтверждает, что оверлей нашёл окно и подстроился под него.

Оверлей перехватывает ваши клики мышью: при сборке отсутствовала libXext, поэтому клики насквозь были выключены на этапе компиляции. Шаг настройки предупреждает об этом; ищите XShape click-through: enabled. Установите libxext/libxext-dev и пересоберите.

Оверлей не на месте или клики не проходят насквозь: оверлею нужен X11. Под Wayland принудительно включите XWayland:

root@kitploit:~
DISPLAY=:0 WAYLAND_DISPLAY= ./run.sh

Игра не найдена: передайте PID напрямую. Под Proton процесс называется Discovery-d.exe, а правильный поток — GameThread.

Во время матча ничего не рисуется: оффсеты устарели после обновления игры.

Аим-ассист ничего не делает: проверьте, что меню сообщает о бэкенде мыши. Если включено «visible only» и все враги за укрытием, цели намеренно нет.

Модуль ядра не собирается: он должен быть скомпилирован тем же тулчейном, что и ваше работающее ядро. На ядре, собранном с clang: make LLVM=1.


Заметка о риске

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


Лицензия

GNU General Public License, версия 2. См. LICENSE.

Вы можете использовать, изучать, модифицировать и распространять это. Если вы распространяете модифицированную версию, вы должны поставлять её исходный код под той же лицензией, чтобы каждый, кто её получает, сохранял те же свободы. Гарантий нет.

GPLv2, а не v3, намеренно: модуль ядра в kmod/ — это модуль ядра Linux, ядро — только GPL-2.0, а MODULE_LICENSE("GPL") означает версию 2. Лицензирование всего проекта тем же образом сохраняет совместимость пользовательского инструмента и модуля друг с другом и с ядром, без необходимости разбираться в расщеплении.

Copyright © 2026 Ymsniper.

Скачать инструмент