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
ghostlock-app — GhostLock One-Tap Execution App (CVE-2026-43499) | Kitploit
Tools/GitHubGitHub/yukonga/ghostlock-app
Android-SicherheitPrivilege EscalationExploit-FrameworksExploitationReverse EngineeringMobile SicherheitBinäranalyse
GitHubyukonga/ghostlock-app

ghostlock-app

GhostLock One-Tap Execution App (CVE-2026-43499)

Repository anzeigen
1.4k37055vor 5 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

GhostLock-App

中文: README_ZH.md

Dokumentation

  • Kernel Profile Porting Guide – Unterstützung für einen neuen Kernel hinzufügen. GhostLock gleicht Kernel per exaktem uname -r ab und lehnt nicht unterstützte Builds ab, wobei der Status oben angezeigt wird. Integrierte Profile liegen in app/src/main/assets/kernel_profiles/: eine HOCON-Datei pro Release, index.conf als Laufzeitindex und <major.minor>-template.conf-Vorlagen für Versionsfamilien.
  • Unterstützte Geräte – die integrierte Kernel-Liste.
  • Gemeinsame Ausführungs-Standardwerte – jedes Feld zur Ausführungsoptimierung, sein Standardwert und der Grund dafür.
  • Profil-Schema – vollständige Profilstruktur und Datenfluss.
  • Eine Komponente hinzufügen – Entwicklerleitfaden für eine neue native Middleware / Backend / Frontend (Chinesisch).

Den vollständigen Workflow zum Portieren auf Geräte, die Links zu den Kernel-Familienvorlagen und die Begründung für die Optimierungen finden Sie im Kernel Profile Porting Guide.

Zeilen, die ausdrücklich mit Shizuku erforderlich markiert sind, laufen über einen Shell-UserService. Starten Sie Shizuku mit ADB und tippen Sie auf die Statuskarte, um den Zugriff zu gewähren; alle anderen Zeilen verwenden den normalen Ausführungspfad der App.

Schnellstart

Öffnen Sie GhostLock und tippen Sie auf Run. KernelSU (me.weishu.kernelsu), ReSukiSU (com.resukisu.resukisu) oder KowSU (com.kowx712.supermanager) stellt ksud für das Laden von Modulen bereit; ohne dies gewähren W1/W2 weiterhin uid 0, aber es wird kein Modul geladen.

Die Ausführungskette ist eine Pipeline aus drei Komponenten: einem Frontend (root_child-Start/Übergabe), einem Backend (dem CVE-2026-43499-Futex-Primitiv) und einer Middleware-Route. Die katalogisierten Kombinationen werden zur Build-Zeit instanziiert; das aufgelöste Profil wählt aus, welche ausgeführt wird. Die Route lässt zwei Kerne gegeneinander antreten: Bei den 6.6/6.12-Tree-Waiter-Kernels hämmert der Hauptthread auf select, während ein Consumer-Thread die Priorität des Waiters stört; bei den 6.1-Compact-Waiter-Kernels treibt sie getsockopt(TCP_ZEROCOPY_RECEIVE) durch eine Seite mit gestanztem Loch; die 5.15-Kernels verwenden den Multicast-Waiter. Das CPU-Paar stammt ebenfalls aus dem aufgelösten Profil.

Kommandozeilen-Debugging

adb/shell hat keinen seccomp-Filter, daher wird W3 übersprungen – praktisch für eine schnelle Verifizierung:

make -C src ghostlock
./gradlew exportKernelProfiles
adb push build/native/ghostlock /data/local/tmp/ghostlock
adb push build/kernel-profiles/<release>.bin /data/local/tmp/profile.bin
adb shell chmod 755 /data/local/tmp/ghostlock
adb shell /data/local/tmp/ghostlock --load-prebuilt-profile /data/local/tmp/profile.bin

Offset-Extraktion

tools/extract_rs leitet Offsets aus einem boot.img (plus optionalem xbl_config.img), einem vollständigen OTA-ZIP oder einer http(s)-URL ab, die auf eines davon zeigt. kallsyms stammen aus --kallsyms oder werden aus der eingebetteten Tabelle des Images wiederhergestellt. pselect_waiter_shift und off_slide_loggers_0_1 werden vom integrierten arm64-Disassembler abgeleitet. MediaTek-Images haben kein xbl_config.img und meist kein BTF: Die physische Ladeadresse wird aus kallsyms _text abgeleitet (überschreibbar mit --phys).

Push-Location tools/extract_rs
cargo build --release
Pop-Location
build/extract/release/ghostlock-extract.exe boot.img --xbl-config xbl_config.img --format conf --out profile.conf
build/extract/release/ghostlock-extract.exe OTA.zip --format conf --out profile.conf

--format conf ist die Extraktor-Ausgabe: ein abgeflachtes, eigenständiges Profil (keine include-Zeilen, die gemeinsamen 6.x-Credential/KernelSnitch-Konstanten inline, die Route ausgewählt anhand der --analysis-Evidenz, sofern --route sie nicht überschreibt). Der Extraktor gibt jedes Feld aus, das das Image tatsächlich liefert, und lässt den Rest weg; er füllt Lücken niemals mit Vermutungen einer benachbarten Kernel-Familie (unverifizierte Familie 6.6, der Standardwert -2, die 5.15-Multicast-Konstanten oder ein phys-Standardwert). Jede Ausgabe ist ein unverifizierter Kandidat: importierbar und parsebar, wobei fehlende oder ungültige Felder durch die Vorabvalidierung der App blockiert werden, sodass ein erfolgreicher Lauf niemals Geräteunterstützung impliziert. Unter 5.x leitet er außerdem die Reparatur der Credential-Referenz aus init_cred und die Multicast-Geometrie aus BTF ab (siehe docs/analysis/extractor-5x-derivation-plan.md). --format json bleibt für den v1-Importpfad erhalten. Um ein integriertes Profil hinzuzufügen, vervollständigen und validieren Sie die passende Vorlage der Versionsfamilie, speichern Sie sie als eigenständiges .conf-Profil und fügen Sie es zu kernel_profiles/index.conf hinzu. Die alte C-Registry offsets.h ist veraltet und wurde entfernt.

MediaTek

MediaTek-Images haben kein xbl_config.img und meist kein eingebettetes BTF, daher kann der Extraktor die beiden physischen Adressen (kernel_phys_load, kernel_phys_offset) nicht aus dem Image ableiten und lässt sie null. Die Laufzeit greift dann auf die SoC-Formel zurück, die bei MediaTek bei W1 fehlschlägt. Füllen Sie beide, indem Sie den separaten Extraktor tools/mtk-phys/ auf einem gerooteten Gerät ausführen (er liest /proc/iomem) und die Werte in die erweiterten Überschreibungen der App einfügen. Siehe MEDIATEK.md.

Preflight

Der Extraktor disassembliert remove_waiter(), bevor er Offsets extrahiert. Kernel mit dem Fix werden mit Exit-Code 6 abgelehnt; nur anfällige Kernel fahren fort.

Analyse auf dem Gerät

Ein vollständiges OTA kann vollständig auf dem Telefon analysiert werden: boot plus xbl_config werden automatisch extrahiert. Übergeben Sie --work-dir ein von der App beschreibbares Verzeichnis, wenn Sie innerhalb der App-Sandbox ausführen. Cross-Compile und Push:

rustup target add aarch64-linux-android
$ndk = "$env:ANDROID_HOME\ndk\<version>\toolchains\llvm\prebuilt\windows-x86_64\bin"
$env:CC_aarch64_linux_android = "$ndk\aarch64-linux-android35-clang.cmd"
$env:AR_aarch64_linux_android = "$ndk\llvm-ar.exe"
$env:CARGO_TARGET_AARCH64_LINUX_ANDROID_LINKER = $env:CC_aarch64_linux_android
Push-Location tools/extract_rs
cargo build --release --target aarch64-linux-android
Pop-Location
adb push build/extract/aarch64-linux-android/release/ghostlock-extract /data/local/tmp/
adb shell /data/local/tmp/ghostlock-extract /sdcard/OTA.zip

Offsets importieren, ohne die App neu zu bauen

Neue Kernel erfordern keinen App-Neubau mehr: Tippen Sie auf Import offsets.conf (HOCON) und wählen Sie die abgeflachte .conf des Extraktors, oder verwenden Sie Import offsets.json (v1) für einen älteren JSON-Bericht. v1-JSON wird in der App konvertiert, sodass nichts auf das Gerät gepusht werden muss: Native startet immer vom GLK1-Dokument, das die App über stdin sendet, und gleicht das aktuelle uname -r mit dem aufgelösten Profil ab, bevor der Kernel abgelehnt wird. Importe werden über Dateien hinweg zusammengeführt; ein bereits gespeichertes Release fragt vor dem Überschreiben nach.

Tool herunterladen