Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
umbra — External read-only game overlay for Linux. Derived offsets, composed skeletons, optional kernel module for ptrace-independent memory reads and pointer-level input | Kitploit
Strumenti/GitHubGitHub/ymsniper/umbra
Memory ForensicsExploitationReverse EngineeringRed Teaming
GitHubymsniper/umbra

umbra

External read-only game overlay for Linux. Derived offsets, composed skeletons, optional kernel module for ptrace-independent memory reads and pointer-level input

Vedi Repository
1743212 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Contenuto non disponibile nella lingua richiesta. Visualizzazione della versione inglese.

Umbra

An external overlay for THE FINALS on Linux.

It reads the game's memory from a separate process, draws a transparent click-through window on top of it, and provides an aim assist and a triggerbot. Nothing is injected into the game and nothing is ever written back; the tool reads memory and moves the mouse, and that is all.

Built from scratch on Linux: every game offset in this repository was derived by observing the running process, not copied from a published SDK dump.

https://github.com/user-attachments/assets/858e94f2-762b-4c26-877f-fb490e66e42b


Requirements

  • raylib 5.0+ for the window and drawing
  • libX11 and libXext, CMake 3.16+, a C++17 compiler
  • Dear ImGui and rlImGui are vendored in third_party/; nothing to install
  • X11 or XWayland. Pure Wayland will not work: the overlay needs XShape for click-through and global hotkey polling, and Wayland deliberately gives an external process neither. Any desktop is fine; X11 is the requirement, not a particular DE.
  • The game running under Proton or Wine, in Windowed mode rather than Fullscreen, so the overlay can draw over it

Arch / CachyOS

sudo pacman -S --needed base-devel cmake raylib libx11 libxext

Ubuntu 24.04+ / Debian 13+

sudo apt install build-essential cmake libraylib-dev libx11-dev libxext-dev
pkg-config --modversion raylib           # must be 5.0 or newer

Older releases package a raylib too old to build against; build it from source if pkg-config reports below 5.0.

REQUIREMENTS.md covers the rest: building raylib from source, kernel headers for the module, Secure Boot, ptrace_scope, and how to verify a working setup.

Tested on

CachyOS                kernel 7.1.2-3-cachyos, built with clang 22.1.6
KDE Plasma 6.7.2       Wayland session, overlay running through XWayland
raylib 6.0             CMake 4.3.4, GCC 16.1.1
Intel UHD + RTX 4060   game under Proton, Windowed

Two parts of that are worth calling out, because they are the awkward cases:

  • It is a Wayland session. The overlay does not run on Wayland natively and it does not need to: the game runs under XWayland and so does the overlay, and X11 click-through and hotkeys work normally inside it. If you are on Wayland, this is the configuration that works.
  • The kernel is clang-built, which is unusual and is what the module's toolchain detection exists for. On a GCC kernel the module takes the other branch, which is the common case but the less exercised one here.

This is the development machine, so it is the only configuration actually verified. Other distributions, desktops and GCC-built kernels are expected to work and are untested.


Build

chmod +x build.sh run.sh   # a zip download drops the executable bit
./build.sh                 # configure and build
./build.sh clean           # from a fresh build directory

The binary is written to build/TheFinals.

CMake stores the absolute source path in its cache, so a build directory carried across a move or rename stops working. build.sh notices and reconfigures on its own, so moving the project is not something you have to think about.


Kernel module (optional, stealthier)

kmod/ builds a small module that makes the tool considerably quieter on the system. It is entirely optional: without it everything still works, using the userspace fallbacks noted below.

  • Memory reads go through access_process_vm() in kernel space, so ptrace_scope does not apply. The tool needs no sudo, nothing has to attach to the game, and yama does not have to be loosened for the whole system.
  • Mouse input is injected into the real pointer instead of a virtual uinput device. Without the module the tool must create one, and a virtual input device is enumerable: it shows up in /proc/bus/input/devices for anything that cares to look. With the module there is no extra device at all.
cd kmod && make
sudo insmod suite_kmod.ko

A module must be built with the same compiler as the kernel it loads into. The Makefile reads that from the kernel's own config and sets the toolchain itself, so plain make is correct on a GCC kernel and on a clang one alike:

  kernel   7.1.2-3-cachyos
  toolchain clang (LLVM=1)

Override with make LLVM=0 or make LLVM=1 if it ever guesses wrong. If the kernel headers are missing it says so and prints the install command for your distribution.

With Secure Boot enabled an unsigned module will not load: sign it, disable Secure Boot, or simply skip the module.

Load it before starting the tool; the backend is chosen once, at startup.

Confirm which backend is live in the menu, or in the log:

[mem] kernel backend: /dev/suite_kmod
[vmouse] kernel injection into the real pointer

Unload with sudo rmmod suite_kmod.


Run

Set the game to Windowed mode first. In Fullscreen the game owns the display outright and nothing can draw over it, so the overlay will be running correctly and still be invisible.

The overlay finds the game's window and matches its position and size, rechecking as you go, so it follows the window if you move or resize it, and adapts to any resolution.

./run.sh                # finds the game PID by itself
./run.sh 12345          # or give it one
./run.sh -q             # quiet: a few status lines only, no update check

Start it whenever you like, including at the menu. It re-resolves its objects when a match begins or ends, so it does not need restarting between rounds.

On start it also asks GitHub whether a newer release is out, and if there is one it says so, with a link. It never downloads or changes anything, and the tool does not wait for the answer.

Controls

KeyAction
INSERTToggle the settings menu. While open, the overlay takes mouse clicks; while closed, clicks pass through to the game.
HOMEToggle the aim assist.
PAGE DOWNMark the moment in vis.log, for a visibility verdict that looked wrong.
EndQuit, with the overlay focused. Ctrl-C in the terminal also works.

Settings are edited in the menu and written to settings.cfg a few seconds after they stop changing, as well as on exit, so a crash or a kill costs nothing. The file is replaced whole rather than rewritten in place, and the previous contents are kept once as settings.cfg.bak.


Features

ESP

esp

Boxes, skeletons, names, health bars, distance and snaplines. Squad colours distinguish teams, and a master opacity slider governs everything drawn.

The skeleton is composed from the mesh's own bone hierarchy, so it follows the animation rather than approximating from a capsule.

The outline traces each player's own silhouette in their squad's colour, so an arm held out, a crouch or a lean shows as it is, where a box only shows how tall someone is. It comes from the mesh the game renders, posed on the live skeleton, when the mesh's vertices can be read, and otherwise from tubes laid along the bones and proportioned from that player's own build. Its width, and how much colour fills the body, are set beside it in the ESP tab.

Spectators are left out. The game lists them with the players, but they carry no health, so a box on one reads 0 HP, and the game never draws them, so there is nothing to see or hit. A switch in the ESP tab shows them anyway. The sonar and the off-screen pins never do, and the aim assist and triggerbot pass over them unless told otherwise in the Aim tab.

Off-screen indicators

off-screen
Scarica lo strumento