
Linux के लिए बाहरी केवल-पठनीय गेम ओवरले। व्युत्पन्न ऑफसेट, संरचित स्केलेटन, ptrace-स्वतंत्र मेमोरी रीड और पॉइंटर-स्तरीय इनपुट के लिए वैकल्पिक कर्नेल मॉड्यूल।
Linux पर THE FINALS के लिए एक बाहरी ओवरले।
यह गेम की मेमोरी को एक अलग प्रक्रिया से पढ़ता है, उसके ऊपर एक पारदर्शी क्लिक-थ्रू विंडो खींचता है, और एक एइम असिस्ट और एक ट्रिगरबॉट प्रदान करता है। गेम में कुछ भी इंजेक्ट नहीं किया जाता है और कभी भी कुछ वापस नहीं लिखा जाता है; टूल मेमोरी पढ़ता है और माउस घुमाता है, और बस इतना ही।
Linux पर शुरू से बनाया गया: इस रिपॉजिटरी में हर गेम ऑफसेट चल रही प्रक्रिया का अवलोकन करके प्राप्त किया गया था, न कि किसी प्रकाशित SDK डंप से कॉपी किया गया था।
https://github.com/user-attachments/assets/674baa52-3006-4767-a263-29178bed3a31
Arch / CachyOS
sudo pacman -S --needed base-devel cmake sfml libx11 libxext
paru -S imgui-sfml
Ubuntu 24.04+ / Debian 13+
sudo apt install build-essential cmake libsfml-dev libx11-dev libxext-dev
pkg-config --modversion sfml-graphics # must be 3.x
ImGui-SFML वहाँ पैकेज नहीं है और इसे स्रोत से बनाना पड़ता है।
REQUIREMENTS.md बाकी सब कवर करता है: SFML 3 और
ImGui-SFML को स्रोत से बनाना, मॉड्यूल के लिए कर्नेल हेडर, Secure Boot,
ptrace_scope, और एक कार्यशील सेटअप को कैसे सत्यापित करें।
CachyOS kernel 7.1.2-3-cachyos, built with clang 22.1.6
KDE Plasma 6.7.2 Wayland session, overlay running through XWayland
SFML 3.1.0 CMake 4.3.4, GCC 16.1.1
Intel UHD + RTX 4060 game under Proton, Windowed
उसके दो हिस्सों पर ध्यान देना उचित है, क्योंकि वे कठिन मामले हैं:
यह विकास मशीन है, इसलिए यह एकमात्र कॉन्फ़िगरेशन है जो वास्तव में सत्यापित है। अन्य वितरण, डेस्कटॉप और GCC-निर्मित कर्नेल के काम करने की उम्मीद है और वे अपरीक्षित हैं।
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
बाइनरी build/TheFinals में लिखी जाती है।
CMake अपने कैश में पूर्ण स्रोत पथ संग्रहीत करता है, इसलिए एक बिल्ड निर्देशिका
जो स्थानांतरण या नाम बदलने के बाद ले जाई जाती है, काम करना बंद कर देती है। build.sh
इसे नोटिस करता है और अपने आप पुनः कॉन्फ़िगर करता है, इसलिए प्रोजेक्ट को स्थानांतरित
करने के बारे में आपको सोचने की आवश्यकता नहीं है।
kmod/ एक छोटा मॉड्यूल बनाता है जो टूल को सिस्टम पर काफी शांत बनाता है।
यह पूरी तरह से वैकल्पिक है: इसके बिना भी सब कुछ काम करता है, नीचे बताए गए
यूज़रस्पेस फ़ॉलबैक का उपयोग करके।
access_process_vm() के माध्यम से जाती हैं, इसलिए
ptrace_scope लागू नहीं होता। टूल को किसी sudo की आवश्यकता नहीं होती, किसी को
गेम से अटैच नहीं होना पड़ता, और पूरे सिस्टम के लिए yama को ढीला नहीं करना पड़ता।/proc/bus/input/devices में किसी के लिए भी दिखाई देता है
जो देखना चाहता है। मॉड्यूल के साथ कोई अतिरिक्त डिवाइस बिल्कुल नहीं होता।cd kmod && make
sudo insmod suite_kmod.ko
एक मॉड्यूल उसी कंपाइलर के साथ बनाया जाना चाहिए जिस कर्नेल में वह लोड होता है।
Makefile इसे कर्नेल के अपने कॉन्फ़िग से पढ़ता है और टूलचेन स्वयं सेट करता है,
इसलिए GCC कर्नेल और clang कर्नेल दोनों पर सादा make सही है:
kernel 7.1.2-3-cachyos
toolchain clang (LLVM=1)
यदि यह कभी गलत अनुमान लगाता है तो make LLVM=0 या make LLVM=1 से ओवरराइड करें। यदि
कर्नेल हेडर गायब हैं तो यह ऐसा कहता है और आपके वितरण के लिए इंस्टॉल कमांड प्रिंट करता है।
Secure Boot सक्षम होने पर एक अहस्ताक्षरित मॉड्यूल लोड नहीं होगा: इसे साइन करें, Secure Boot अक्षम करें, या बस मॉड्यूल छोड़ दें।
इसे टूल शुरू करने से पहले लोड करें; बैकएंड एक बार, स्टार्टअप पर चुना जाता है।
पुष्टि करें कि मेनू में या लॉग में कौन सा बैकएंड सक्रिय है:
[mem] kernel backend: /dev/suite_kmod
[vmouse] kernel injection into the real pointer
sudo rmmod suite_kmod से अनलोड करें।
पहले गेम को Windowed मोड में सेट करें। Fullscreen में गेम डिस्प्ले को पूरी तरह अपने पास रखता है और उसके ऊपर कुछ भी नहीं खींचा जा सकता, इसलिए ओवरले सही ढंग से चल रहा होगा और फिर भी अदृश्य रहेगा।
ओवरले गेम की विंडो ढूंढता है और उसकी स्थिति और आकार से मेल खाता है, जैसे-जैसे आप आगे बढ़ते हैं पुनः जाँच करता है, इसलिए यदि आप विंडो को स्थानांतरित या आकार बदलते हैं तो यह उसका अनुसरण करता है, और किसी भी रिज़ॉल्यूशन के अनुकूल हो जाता है।
./run.sh # finds the game PID by itself
./run.sh 12345 # or give it one
./run.sh -q # quiet: a few status lines only
इसे जब चाहें शुरू करें, मेनू में भी। यह अपनी वस्तुओं को पुनः हल करता है जब एक मैच शुरू या समाप्त होता है, इसलिए इसे राउंड के बीच पुनः आरंभ करने की आवश्यकता नहीं होती।
| कुंजी | क्रिया |
|---|---|
INSERT | सेटिंग्स मेनू टॉगल करें। खुला होने पर, ओवरले माउस क्लिक लेता है; बंद होने पर, क्लिक गेम में पास हो जाते हैं। |
HOME | एइम असिस्ट टॉगल करें। |
End | ओवरले फोकस के साथ बाहर निकलें। टर्मिनल में Ctrl-C भी काम करता है। |
सेटिंग्स मेनू में संपादित की जाती हैं और टूल बाहर निकलने पर settings.cfg में सहेजी
जाती हैं, इसलिए यह उसी तरह वापस आता है जैसे आपने छोड़ा था।
बॉक्स, कंकाल, नाम, हेल्थ बार, दूरी और स्नैपलाइन। स्क्वाड रंग टीमों को अलग करते हैं, और एक मास्टर अपारदर्शिता स्लाइडर खींची गई हर चीज़ को नियंत्रित करता है।
कंकाल मेश की अपनी बोन पदानुक्रम से बना है, इसलिए यह कैप्सूल से अनुमान लगाने के बजाय एनीमेशन का अनुसरण करता है।
चुने हुए माउस बटन को दबाए रखने पर एक लक्ष्य की ओर खींचता है।
जब क्रॉसहेयर लक्ष्य पर होता है तो फायर करता है।
जो खिलाड़ी वर्तमान में गेम द्वारा नहीं खींचे जा रहे हैं उन्हें काट दिया जाता है और फीका कर दिया जाता है, और एइम असिस्ट और ट्रिगरबॉट प्रत्येक को उन्हें अनदेखा करने के लिए कहा जा सकता है।
यह इंजन के अपने रेंडर टाइमस्टैम्प से प्राप्त होता है, इसलिए यह स्वभाव से रूढ़िवादी है: गेम एक बाउंडिंग बॉक्स पर कलिंग करता है, जो खिलाड़ी से बड़ा होता है, और ऑक्लूज़न क्वेरीज़ एक या दो फ्रेम पीछे रह जाती हैं। उम्मीद करें कि एक दुश्मन एक कोने को पूरी तरह से साफ़ करने से थोड़ा पहले दृश्यमान चिह्नित होगा। सहनशीलता स्लाइडर नियंत्रित करता है कि लाइन ऑफ़ साइट टूटने के बाद कोई व्यक्ति दृश्य से कितनी जल्दी बाहर निकलता है।
हर गेम-विशिष्ट पता offsets.cfg में रहता है, जो स्टार्टअप पर कार्यशील निर्देशिका से
या उससे एक स्तर ऊपर से पढ़ा जाता है।
टूल इसके बिना शुरू करने से इनकार करता है और किसी भी गायब चीज़ का नाम बताता है। यह जानबूझकर है: एक ऑफसेट जो चुपचाप शून्य है, बिना किसी स्पष्टीकरण के एक खाली स्क्रीन उत्पन्न करता है, जो एक स्पष्ट विफलता की तुलना में निदान करने में कहीं अधिक बुरा है।
एक गेम अपडेट इन्हें स्थानांतरित करता है। जब ऐसा होता है तो टूल शुरू होता है लेकिन कुछ नहीं पाता।
ऑफसेट को पुनः प्राप्त करें और नई offsets.cfg यहाँ कॉपी करें। किसी पुनर्निर्माण की आवश्यकता नहीं है।
README.md this file
REQUIREMENTS.md dependencies and how to install them
LICENSE GPL-2.0
build.sh build script
run.sh launcher
banner.txt startup banner
offsets.cfg game offsets (required)
CMakeLists.txt
src/
main.cpp entry point, overlay window, render loop
mem.hpp process memory reads
cheat.hpp reader thread, entity list
render.hpp ESP drawing, aim assist, triggerbot, menu
global.hpp state shared between reader and render threads
structs.hpp engine types and world-to-screen projection
skeleton.hpp bone hierarchy composition
settings.hpp settings.cfg load and save
vmouse.hpp mouse output
offsets.hpp fixed engine layout constants
runtime_offsets.hpp offsets.cfg loader
gobjects_direct.hpp object array decoding
kmod/
suite_kmod.c kernel module: memory reads and mouse injection
suite_kmod.h shared ioctl contract
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 को बाध्य करें:
DISPLAY=:0 WAYLAND_DISPLAY= ./run.sh
गेम नहीं मिला: PID सीधे पास करें। Proton के अंतर्गत प्रक्रिया
Discovery-d.exe है और सही थ्रेड GameThread है।
मैच के दौरान कुछ नहीं खींचा जाता: गेम अपडेट के बाद ऑफसेट पुराने हैं।
एइम असिस्ट कुछ नहीं करता: जाँचें कि मेनू एक माउस बैकएंड की रिपोर्ट करता है। यदि "visible only" सक्षम है और हर दुश्मन कवर के पीछे है, तो जानबूझकर कोई लक्ष्य नहीं है।
कर्नेल मॉड्यूल बिल्ड नहीं होगा: इसे आपके चल रहे कर्नेल के समान टूलचेन के साथ
संकलित किया जाना चाहिए। clang-निर्मित कर्नेल पर: make LLVM=1।
यह किसी अन्य प्रक्रिया की मेमोरी पढ़ता है और माउस इनपुट इंजेक्ट करता है। यह गेम को संशोधित नहीं करता, लेकिन इसे ऑनलाइन मैच में उपयोग करना गेम की सेवा की शर्तों के विरुद्ध है और आपको खाता खर्च कर सकता है। वह आपका निर्णय है; इसे जानबूझकर लें।
GNU जनरल पब्लिक लाइसेंस, संस्करण 2। देखें LICENSE।
आप इसका उपयोग, अध्ययन, संशोधन और पुनर्वितरण कर सकते हैं। यदि आप एक संशोधित संस्करण वितरित करते हैं तो आपको उसका स्रोत उसी लाइसेंस के तहत भेजना होगा, ताकि हर कोई जो इसे प्राप्त करता है वही स्वतंत्रताएँ रखता रहे। कोई वारंटी नहीं है।
GPLv2 जानबूझकर v3 के बजाय: kmod/ में कर्नेल मॉड्यूल एक Linux कर्नेल मॉड्यूल है,
कर्नेल GPL-2.0-only है, और MODULE_LICENSE("GPL") का अर्थ संस्करण 2 है। पूरे प्रोजेक्ट को
उसी तरह लाइसेंस देने से यूज़रस्पेस टूल और मॉड्यूल एक दूसरे के साथ और कर्नेल के साथ
संगत रहते हैं, बिना किसी विभाजन के जिसके बारे में सोचना पड़े।
कॉपीराइट © 2026 Ymsniper।