Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
lithium-kernel — Windows-Kernelmodus-Treiber mit User-Mode-Client, der IOCTL-basiertes Lesen/Schreiben von physischem und virtuellem Speicher, Page-Table-Walking, Pattern-Scanning und Eingabeemulation für Game-Cheating bereitstellt. | Kitploit
Tools/GitHubGitHub/gmh5225/lithium-kernel
SpeicherforensikReverse EngineeringAnti-BotBinary-Exploitation
GitHubgmh5225/lithium-kernel

lithium-kernel

Windows-Kernelmodus-Treiber mit User-Mode-Client, der IOCTL-basiertes Lesen/Schreiben von physischem und virtuellem Speicher, Page-Table-Walking, Pattern-Scanning und Eingabeemulation für Game-Cheating bereitstellt.

Repository anzeigen
12vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

██╗     ██╗████████╗██╗  ██╗██╗██╗   ██╗███╗   ███╗
██║     ██║╚══██╔══╝██║  ██║██║██║   ██║████╗ ████║
██║     ██║   ██║   ███████║██║██║   ██║██╔████╔██║
██║     ██║   ██║   ██╔══██║██║██║   ██║██║╚██╔╝██║
███████╗██║   ██║   ██║  ██║██║╚██████╔╝██║ ╚═╝ ██║
╚══════╝╚═╝   ╚═╝   ╚═╝  ╚═╝╚═╝ ╚═════╝ ╚═╝     ╚═╝

Windows-Kernel-Mode-Treiber-Framework mit User-Mode-Client

Language Platform Arch Mode

[!IMPORTANT]

Das vollständige Projekt erhalten

Lösungsdateien sind über den Discord-Server verfügbar.

Interesse am Kauf des vollständigen Quellcodes? Kontaktiere mich auf Telegram oder Discord: @tonythimself.


Überblick

Lithium ist ein Windows-Kernel-Mode-Treiber (lithium-kernel) in Kombination mit einem User-Mode-Client (lithium-usermode). Die Kommunikation erfolgt über eine benutzerdefinierte IOCTL-Schnittstelle und stellt Low-Level-Speichermanipulation, Page-Table-Walking und Eingabegerätesteuerungsprimitive bereit.


Funktionen

FunktionBeschreibung
Physischer Speicher R/WDirektes Lesen/Schreiben physischer Adressen über MmCopyMemory
Virtueller Speicher R/WProzessübergreifender virtueller Speicherzugriff über MmCopyVirtualMemory
DTB-AuflösungExtraktion der Directory Table Base über PFN-Datenbank-Enumeration
Page-Table-WalkingLineare Adressübersetzung mit PML4/PDPT/PD/PT-Layer-Caching
Pattern-ScanningIDA-artiges Signatur-Scanning über den Prozessspeicher
SpeicherallokationZwAllocateVirtualMemory im Kontext des Zielprozesses
SpeicherschutzZwProtectVirtualMemory im Kontext des Zielprozesses
Maus-EmulationMaus-Eingabe auf Kernel-Ebene über MouClass-Service-Callback-Hook
Thread-VerschleierungETHREAD-Feld-Spoofing (Startadresse, CID, Erstellungszeit usw.)
NMI-Callback-DeaktivierungNMI-Callback-Unterdrückung zur Debugger-Umgehung
Pool-BereinigungEntfernung von Big-Pool-Table-Einträgen aus dem Kernel-Pool-Tracker

Projektstruktur

lithium/
├── lithium-kernel/              # Kernel-mode driver (KMDF)
│   ├── entry.cpp                # DriverEntry entry point
│   ├── core/
│   │   ├── dispatch/            # IOCTL dispatch and request routing
│   │   ├── requests/
│   │   │   ├── directory-table-base/  # DTB resolution & page table walk
│   │   │   ├── image-base/           # Process module base retrieval
│   │   │   ├── mouse/                # Mouse input emulation via MouClass
│   │   │   ├── read-write/           # Physical and virtual memory R/W
│   │   │   └── virtual-memory/       # Allocate, protect, query, pattern scan
│   │   └── utilities/
│   │       ├── kernel/          # Module enumeration, NMI, thread ops
│   │       └── ...              # Pool cleaner, CRT shim
│   └── dependencies/
│       ├── additional/
│       │   ├── crt/             # Minimal CRT implementation
│       │   ├── security/        # skCrypter string encryption, oxorany
│       │   └── structures/      # Shared invoke data structures
│       └── includes.hpp         # Master include header
│
└── lithium-usermode/            # User-mode client
    ├── entry.cpp                # Client entry point
    ├── core/
    │   └── driver/              # IOCTL communication layer
    └── dependencies/
        ├── additional/
        │   └── structs.hpp      # Page table entry unions & helpers
        └── includes.hpp

IOCTL-Schnittstelle

Die Kommunikation wird durch Hooking der IOCTL-Dispatch-Routine eines vorhandenen Treibers (ProcObsrvesx.sys) hergestellt. Beim Laden lokalisiert das Kernel-Modul den Zieltreiber, sucht nach dessen IRP-Dispatch-Handler und überschreibt diesen mit einem Trampolin zu Lithiums eigenem hooked_ioctl. Der User-Mode-Client öffnet \\.\ProcObsrvesx und alle IOCTLs werden transparent durch den Hook umgeleitet.

CodeEingabestrukturAktion
invoke_basebase_invoke { pid, handle }Prozess-Image-Basis abrufen
invoke_dtbdtb_invoke { pid, dtb }Directory Table Base auflösen
invoke_readread_invoke { pid, directory_table, address, buffer, size }Physischen Speicher lesen
invoke_writewrite_invoke { pid, directory_table, address, buffer, size }Physischen Speicher schreiben
invoke_read_virtualread_virtual_invoke { pid, address, buffer, size }Virtuellen Speicher lesen
invoke_write_virtualwrite_virtual_invoke { pid, address, buffer, size }Virtuellen Speicher schreiben
invoke_allocateallocate_invoke { pid, type, protection, address, size }Virtuellen Speicher allokieren
invoke_protectprotect_invoke { pid, protection, address, size }Speicherschutz ändern
invoke_virtual_queryquery_virtual_invoke { pid, address, mbi }Virtuelle Speicherinformationen abfragen
invoke_pattern_scanpattern_invoke { pid, signature, address, pattern_address }Speicher nach Muster scannen
invoke_move_mousemouse_invoke { x, y, flags, button_flags }Mauseingabe emulieren

Interna

DTB-Auflösung

Der Treiber iteriert über die von MmGetPhysicalMemoryRanges zurückgegebenen physischen Speicherbereiche, durchläuft die PFN-Datenbank, um den selbstreferenzierenden PML4-Eintrag zu lokalisieren, und validiert jede Page-Table-Ebene, um die korrekte Directory Table Base für einen gegebenen Prozess zu bestätigen.

Page-Table-Walking

Die Linear-zu-Physisch-Übersetzung durchläuft die vierstufige x64-Page-Table-Hierarchie (PML4 → PDPT → PD → PT) mit Caching pro Ebene. Unterstützung für große Seiten (2MB / 1GB) ist nach bestem Bemühen enthalten.

Maus-Emulation

Der Treiber lokalisiert die Treiberobjekte MouClass und MouHID, löst den MouseClassServiceCallback aus der HID-Geräteerweiterung auf und injiziert MOUSE_INPUT_DATA-Pakete direkt in die Callback-Kette.

Thread-Verschleierung

Wichtige ETHREAD-Felder — Erstellungszeit, Startadresse, Win32-Startadresse, Kernel-Stack, CID und Exit-Status — werden gespeichert und durch harmlose oder Null-Werte ersetzt. Beim Abbau werden die Originalwerte vor der Thread-Beendigung wiederhergestellt.


Anforderungen

  • Windows 10/11 x64
  • Visual Studio 2022 oder neuer mit Windows Driver Kit (WDK) 10.0.26100.0
  • Eine Methode zum Laden von Kernel-Treibern (Test Signing, Kernel Mapper usw.)

Build

  1. Öffne lithium.sln in Visual Studio
  2. Setze die Konfiguration auf Release / x64
  3. Baue lithium-kernel → lithium-kernel.sys
  4. Baue lithium-usermode → lithium-usermode.exe

Oder über MSBuild:

msbuild lithium.sln /p:Configuration=Release /p:Platform=x64

Verwendung

#include <core/driver/driver.hpp>

g_driver->initialize_handle();
DWORD pid = g_driver->get_process_id(L"target.exe");
g_driver->attach(pid);

g_driver->image_base = g_driver->get_image_base(0);
g_driver->dtb = g_driver->resolve_directory_table_base();

auto value = g_driver->read<uintptr_t>(g_driver->image_base + 0xOFFSET);
g_driver->mouse_event(-10, -10, 0, 0);

Abhängigkeiten

  • skCrypter — String-Verschlüsselung zur Kompilierzeit
  • oxorany — Konstanten-Obfuskation zur Kompilierzeit

Haftungsausschluss

Tool herunterladen