Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
llvm-jutsu — Anti-LLM-Verschleierung durch Fingerzählen | Kitploit
Tools/GitHubGitHub/thebabush/llvm-jutsu
Statische AnalyseCode-AnalyseReverse EngineeringBinäranalyseKI-SicherheitAdversarial-Angriff
GitHubthebabush/llvm-jutsu

llvm-jutsu

Anti-LLM-Verschleierung durch Fingerzählen

Repository anzeigen
239145vor 8 MonatenVon 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

llvm-jutsu: Anti-LLM-Verschleierung

Dies ist eine 32-Bit-Ganzzahl

0xDEADBEEF als Hände codiert

Das Problem

Wir schreiben das Jahr 2025. Du hast Wochen damit verbracht, die perfekte Lizenzprüfung zu bauen. Du hast jedes Mittel aus dem Buch eingesetzt: undurchsichtige Prädikate, Kontrollflussabflachung, MBA-Ausdrücke. Du deployst. Innerhalb weniger Stunden schreibt ein Typ deine Binärdatei in Claude und fragt: „Was ist der Lizenzschlüssel?“ – und das Modell sagt es ihm einfach.

Die Maschinen haben gewonnen. Oder doch nicht?

Die alte Kunst des Kuji-in

Seit Jahrhunderten nutzen Ninjas Handsiegel, um Chakra zu kanalisieren und Jutsu auszuführen. Was die Schriftrollen nicht verraten: Diese Handformationen haben die Macht, Geheimnisse vor Maschinen zu schützen.

llvm-jutsu ist ein LLVM-Verschleierungspass, der ganzzahlige Konstanten durch Handgesten ersetzt. Jedes Byte wird als 8-fingrige Hand codiert, wobei Fingerpositionen Bits repräsentieren. Gestreckter Finger = 1. Gebeugter Finger = 0. Die Maschine sieht das Bild, bekommt keinen Kontext und kann nicht anders, als sich der menschlichen Einfallsreichtum zu ergeben. Der menschliche Reverser blinzelt auf den Bildschirm, liest die Finger und erhält die Antwort.

Wir haben das Gleichgewicht im Universum wiederhergestellt.

Funktioniert es wirklich?

Ja.

Erfahrungsberichte

Tool herunterladen

„Ich sehe vier Hände, jede mit fünf Fingern“ — ChatGPT, 2025

ChatGPT-Erfahrungsbericht

Claude versucht es zu knacken

Claude-Fehlschlaf

FAQ

F: Kann ich das nicht einfach auf Mechanical Turk hochladen und Menschen bezahlen, die es entschlüsseln?

A: Ja. Das ist der Punkt. Du bezahlst jetzt Menschen für Arbeit, die LLMs früher kostenlos erledigt haben. Die Reverser-Wirtschaft ist zurück. Arbeitsplätze entstehen. Das BIP steigt. Gern geschehen.

F: Kann ich nicht einfach ein Modell trainieren, das diese Verschleierung rückgängig macht?

A: Absolut. Sammle Trainingsdaten, beschrifte Tausende von Handbildern, feinjustiere ein Bildverarbeitungsmodell, deploye es, pflege es. Wenn du fertig bist, hättest du die Finger auch einfach selbst lesen können.

F: Warum Hände? Warum nicht Füße?

A: Ein Wort: Tarantino.

F: Ist das nicht nur Sicherheit durch Verschleierung?

A: Alle Sicherheit ist Verschleierung.

F: Ist das produktionsreif?

A: 100%, setze das in der Produktion ein.

Wie es funktioniert

root@kitploit:~
Dein Code                         Verschlüsselt
─────────                         ──────────

if (key == 0xDEADBEEF) {    →     if (compare_hand_png(key, embedded_png)) {
    grant_access();                   grant_access();
}                                 }

Zur Übersetzungszeit:

  1. Wir finden alle icmp eq/ne-Instruktionen, die mit ganzzahligen Konstanten vergleichen.
  2. Rendern die Konstante als Handgesten-PNG (4 Hände für i32, im 2×2-Raster angeordnet).
  3. Betten das PNG als globale Konstante ein.
  4. Ersetzen den Vergleich durch einen Aufruf von compare_hand_png().

Zur Laufzeit:

  1. Rendert das Programm den Laufzeitwert mit identischer Handgeometrie.
  2. Vergleicht die beiden PNGs.
  3. Gibt Übereinstimmung / Nichtübereinstimmung zurück.

Der entscheidende Punkt: Das PNG ist die einzige Darstellung der Konstante in der Binärdatei. Es gibt kein 0xDEADBEEF zum Greppen. Nur Vibes. Und Hände.

Visuelle Codierung

Eine 32-Bit-Ganzzahl wird zu vier Händen, jede für ein Byte. Daumen = Bit 7, Finger = Bits 6 bis 0. Gestreckt = 1, gebeugt = 0.

root@kitploit:~
0xDEADBEEF

┌─────────┬─────────┐
│ Byte 0  │ Byte 1  │
│  0xEF   │  0xBE   │
├─────────┼─────────┤
│ Byte 2  │ Byte 3  │
│  0xAD   │  0xDE   │
└─────────┴─────────┘

Anti-LLM-Funktionen

Jede Hand enthält hash-basierte Transformationen, die die menschliche Lesbarkeit bewahren, aber die Modellverwirrung maximieren:

  • Rotation (0 bis 360°): Hände drehen sich basierend auf dem vollständigen i32-Hash. Modelle haben Schwierigkeiten mit rotierten Objekten.
  • Farbverschiebung (Hue Shifting): Füllfarben variieren pro Hand. Gleiches Fingermuster, unterschiedliche Farben.
  • Zufällige Strichfarbe: Umrissfarben durchstreifen den gesamten RGB-Raum.
  • Fingerwackeln: Leichte winkel- und positionsbezogene Versätze pro Finger. Organisch, nicht mechanisch.
  • Querhand-Abhängigkeiten: Alle Transformationen leiten sich vom vollständigen 32-Bit-Wert ab, nicht von einzelnen Bytes. Kein Teile und herrsche.

Der Goldene Schnitt (φ ≈ 1,618) wird umfangreich genutzt, um sicherzustellen, dass benachbarte Hände niemals ähnliche Transformationen teilen. Die Alten wussten, was sie taten.

Bauen

root@kitploit:~
# Du brauchst LLVM 15+ und einen funktionierenden Glauben an die Macht des Ninjutsu
make

# Das erzeugt:
#   llvm-jutsu.so    Der LLVM-Pass
#   example.obfuscated    Deine verschleierte Binärdatei

Verwendung

root@kitploit:~
# Kompiliere deinen Code zu LLVM IR
clang -O0 -emit-llvm -S -o code.ll code.c

# Führe das Jutsu aus
opt -load-pass-plugin=./llvm-jutsu.so -passes=llvm-jutsu -o obfuscated.bc code.ll

# Verlinke mit der Handvergleichs-Laufzeitumgebung
llvm-link obfuscated.bc lodepng.bc hand_png_helper.bc -o linked.bc

# Kompiliere zur Binärdatei
clang -O2 linked.bc -lc++ -o protected

Einschränkungen

  • Leistung: Das Rendern und Vergleichen von PNGs zur Laufzeit ist nicht schnell. Das ist spiritueller Schutz, keine Leistungsoptimierung.
  • Binärgröße: Jede Konstante bettet ein ~30KB großes PNG ein. Dein 50KB-Crackme ist jetzt 50MB. Betrachte es als Feature. Mehr Bytes, mehr Verwirrung.
  • Behandelt nur i32 eq/ne: 32 Bits sollten für jeden reichen.
  • Fließkomma-Determinismus: Kleinere Abweichungen können plattformübergreifend auftreten. Der Fuzzy-Vergleich behandelt das, aber wenn du auf einem Pentium 4 läufst, mögen die Götter dir beistehen.

Die Philosophie

Modernes Reverse Engineering ist zu einem Gespräch mit einer KI geworden. Binärdatei hochladen, Fragen stellen, Antworten erhalten. Der Mensch ist nur ein Prompt-Ingenieur, ein Mittelsmann zwischen IDA und GPT. Ein Sloperator.

llvm-jutsu ist eine Rückkehr zur Tradition. Der Reverser muss die Hände anschauen. Die Finger lesen. Die Bits fühlen. Es gibt keine Abkürzung. Es gibt kein „frag einfach Claude“. Es gibt nur dich, den Bildschirm und acht Finger pro Byte.

Wir sind nicht gegen KI. Wir sind für den Menschen. Wir glauben, dass jemand, der deine Software knacken will, zumindest aus Fleisch und Blut bestehen sollte.

Glaube daran.

Lizenz

MIT. Nutze es für Gutes, nutze es für Böses, nutze es für was auch immer. Wir waschen unsere Hände in Unschuld.

Danksagungen

  • Lode Vandevenne für lodepng
  • Masashi Kishimoto für Naruto

„Wenn Menschen etwas wirklich Besonderes beschützen, können sie wirklich so stark werden, wie sie können.“ — Naruto Uzumaki