Ruby-Deobfuscator & Entpacker
Erkennen und rueckgaengig machen Sie Ruby-Obfuskierung automatisch. Identifiziert mit Base64.decode64() und Base64.strict_decode64() kodierte Strings, Base64-Dekodierung mit .unpack("m"), XOR-Chiffremuster, dynamische Dispatch-Aufrufe mit send(), Laufzeitdefinitionen mit define_method, verschachteltes eval() mit rekursivem Entpacken und hex-gepackte Strings via .pack("H*"). Jede Erkennung umfasst Confidence-Bewertung, Quellzeilennummern und umgebenden Code-Kontext. Kostenlos, privat und ohne Anmeldung.
Detect and reverse Ruby obfuscation techniques. Automatically identifies Base64 eval, .unpack("m"), XOR cipher patterns, send() dynamic dispatch, define_method, nested eval, and hex-packed strings with confidence ratings and source context.
Paste Ruby code above and click Analyze Ruby Codeto detect obfuscation patterns. The tool identifies Base64 eval, .unpack("m"), XOR cipher patterns, send() dispatch, define_method, nested eval, and hex-packed strings. Try loading an example to see how it works!
Funktionen
- 7 Detektoren fuer Ruby-Obfuskierungsmuster: erkennt automatisch mit Base64.decode64() und Base64.strict_decode64() kodierte Strings, Base64-Dekodierung mit .unpack('m'), Byte-Muster mit XOR-Chiffre (bytes.zip.cycle.map .pack), dynamische Dispatch-Aufrufe send(), dynamische define_method-Definitionen, verschachteltes eval() mit rekursiver Dekodierung und mit .pack('H*') hex-gepackte Strings. Jeder Detektor nutzt spezialisiertes, Ruby-bewusstes Pattern-Matching.
- Anzeige kodierter Werte und dekodierter Analyse: Jede Erkennung zeigt den urspruenglichen kodierten Wert oder Obfuskierungsindikator neben dem dekodierten Ergebnis bzw. der Analyse in einer uebersichtlichen Karte. Base64-Strings werden vollstaendig dekodiert, verschachtelte evals bis zu 3 Ebenen rekursiv entpackt und send/define_method-Aufrufe zeigen die dynamischen Methodennamen.
- Confidence-Bewertung und Quellkontext: Jede Erkennung erhaelt eine Confidence-Note von 1 bis 5: sehr hoch fuer dekodiertes Base64 mit Ruby-Schluesselwoertern (def, class, require), hoch fuer erfolgreiche Dekodierungen, mittel fuer send/define_method-Erkennungen und niedrig fuer XOR-Muster, die die Laufzeit erfordern. Quellzeilennummern und umgebender Code-Kontext sind fuer jeden Indikator enthalten.
- 100 % browser-lokal und privat: Die gesamte Ruby-Deobfuskierung laeuft vollstaendig in Ihrem Browser. Ihr Ruby-Code, alle erkannten Indikatoren, dekodierten Werte und Analyseergebnisse verlassen niemals Ihr Geraet. Keine Server-Uploads, keine API-Aufrufe, keine Datenspeicherung und kein Tracking.
Was ist Ruby-Deobfuskierung?
Ruby-Deobfuskierung ist der Prozess, absichtliche Code-Obfuskierungstechniken in Ruby-Programmen zu erkennen und rueckgaengig zu machen. Obfuskierter Ruby-Code verbirgt oft Strings, Methodenaufrufe und Logik, um statische Analyse zu umgehen, Sicherheitstools zu umgehen oder geistiges Eigentum zu schuetzen. Haeufige Techniken sind das Kodieren von Strings mit Base64, die Verwendung von .unpack("m") zur Inline-Dekodierung, das Verbergen von Methodenaufrufen hinter send()-Dispatch, das Definieren von Methoden zur Laufzeit mit define_method und das Einpacken von Payloads in verschachtelte eval()-Aufrufe. Ruby zu deobfuskieren ist wesentlich fuer Sicherheitsanalyse, Incident Response und das Verstaendnis von schaedlichem oder geschuetztem Ruby-Code.
So funktioniert unser Ruby-Deobfuscator
Der Ruby-Deobfuscator durchsucht Ruby-Quellcode mit sprachbewusstem Pattern-Matching fuer jede Obfuskierungstechnik. Base64.decode64()-Aufrufe werden erkannt, indem das String-Argument extrahiert und ueber die atob()-Funktion des Browsers dekodiert wird. .unpack("m")-Muster werden identifiziert und ebenso dekodiert. Verschachtelte eval()-Aufrufe werden rekursiv bis zu 3 Ebenen entpackt, wobei auf jeder Ebene versucht wird, das innere Base64 zu dekodieren. send()-Aufrufe werden anhand ihrer String-Methodennamen-Argumente identifiziert, und define_method-Definitionen werden mit ihren Methodennamen erfasst. XOR-Chiffremuster (bytes.zip mit cycle.map und XOR auf pack) werden mit Kontext-Flags erkannt. Die gesamte Verarbeitung laeuft lokal in Ihrem Browser.
Einschraenkungen und Hinweise
Dieses Tool hat wichtige Einschraenkungen. XOR-Chiffremuster werden erkannt, koennen aber ohne den tatsaechlichen Schluessel zur Laufzeit nicht dekodiert werden - sie werden zur manuellen Untersuchung markiert. Benutzerdefinierte Verschluesselung mit Rubys OpenSSL- oder Digest-Bibliotheken wird nicht unterstuetzt. Variablenbasierter Stringaufbau ("this_" + "that") wird nicht als Obfuskierung erkannt, da es ein legitimes Ruby-Muster ist. Gzip-komprimierte Payloads werden nicht verarbeitet, da Rubys Zlib im Browser nicht verfuegbar ist. Verifizieren Sie dekodierte Ausgaben stets, bevor Sie darauf reagieren - falsch positive Ergebnisse koennen bei zufaelligen String-Uebereinstimmungen auftreten.
Privatsphaere und Sicherheit
Dieses Tool laeuft vollstaendig in Ihrem Browser mit clientseitigem JavaScript. Der Ruby-Code, den Sie einfuegen, alle erkannten Obfuskierungsindikatoren, dekodierten Werte und Analyseergebnisse werden niemals auf einen Server hochgeladen, in einer Datenbank gespeichert oder ueber das Netzwerk uebertragen. Das gesamte Parsing, Pattern-Matching und Dekodieren erfolgt lokal auf Ihrem Geraet. Es gibt keine API-Aufrufe, Analytics-Tracking, Cookies oder Datenerfassung jeglicher Art. Dadurch ist es voellig sicher fuer die Analyse von proprietaerem Ruby-Code, Drittanbieter-Gems, Malware-Samples oder sensiblen Quellcode.
Häufig gestellte Fragen
Das Tool erkennt sieben gaengige Ruby-Obfuskierungsmuster: Base64.decode64() und Base64.strict_decode64() mit Base64-kodierten Strings, Base64-Dekodierung mit .unpack("m"), Byte-Manipulation mit XOR-Chiffre (bytes.zip mit cycle.map und XOR), dynamische Dispatch-Aufrufe mit send() mit String-Methodennamen, dynamische Methodendefinitionen mit define_method, verschachteltes eval() mit rekursiver Base64-Dekodierung bis zu 3 Ebenen tief sowie mit .pack("H*") hex-kodierte Strings.
Wenn das Tool auf einen eval()-Aufruf mit einem String-Argument stoesst, versucht es rekursiv, alle inneren Base64.decode64()- oder .unpack("m")-Aufrufe in diesem String zu dekodieren. Jede dekodierte Ebene wird erneut auf weitere eval()-Aufrufe geprueft, bis zu 3 Ebenen tief. So wird der tatsaechliche Ruby-Code sichtbar, nachdem alle Obfuskierungsebenen entfernt wurden.
XOR-Chiffremuster verwenden typischerweise einen Schluessel, der an anderer Stelle im Code definiert oder dynamisch konstruiert wird, was eine Entschluesselung ohne Ausfuehrung zur Laufzeit unmoeglich macht. Das Tool erkennt das strukturelle Muster (bytes.zip mit cycle und XOR) und markiert es zur manuellen Untersuchung. Sie koennen den XOR-Ausschnitt in einer Ruby-Laufzeit ausfuehren, um den tatsaechlichen dekodierten Wert zu erhalten.
Confidence-Bewertungen reichen von 1 bis 5. Bewertung 5 (sehr hoch) wird vergeben, wenn der Base64-dekodierte Inhalt Ruby-Schluesselwoerter wie def, class, require oder module enthaelt - starker Beweis fuer obfuskierten Ruby-Code. 4 (hoch) steht fuer erfolgreiche base64/unpack-Dekodierungen oder mehrstufiges Entpacken verschachtelter evals. 3 (mittel) fuer send()-Dispatch- und define_method-Erkennungen. 2 (niedrig) fuer XOR-Mustererkennungen, deren Dekodierung eine Ausfuehrung zur Laufzeit erfordert.
Nein. Das Tool deckt die gaengigsten Ruby-Obfuskierungsmuster ab, kann aber nicht alle Methoden bewaeltigen. Es kann keine Strings dekodieren, die durch Verkettung, Arrays oder Hash-Lookups aufgebaut werden. Es kann keine OpenSSL-verschluesselten Daten entschluesseln, keine Transformationsfunktionen umkehren und keine mit Ruby Zlib komprimierten Daten verarbeiten. Fortgeschrittene Obfuskierung kann eine dynamische Analyse in einer Ruby-Laufzeitumgebung erfordern.
In Ruby ermoeglicht send() den dynamischen Methodenaufruf nach Namen - statt obj.method() verwenden Angreifer obj.send("method"), um den Methodennamen vor statischer Analyse zu verbergen. define_method erstellt Methoden zur Laufzeit und ermoeglicht so dynamisch definierten Code. Beides sind legitime Metaprogrammierwerkzeuge, werden aber in obfuskiertem Ruby-Code haeufig missbraucht, um signaturbasierte Erkennung zu umgehen.
Absolut. Der Ruby-Deobfuscator laeuft vollstaendig in Ihrem Browser. Ihr Ruby-Code, erkannte Indikatoren, dekodierte Werte und Analyseergebnisse werden niemals auf einen Server hochgeladen, in einer Datenbank gespeichert oder ueber das Netzwerk uebertragen. Die gesamte Verarbeitung erfolgt lokal auf Ihrem Geraet, ohne API-Aufrufe oder Datenerfassung.
Ja - 100 % kostenlos, ohne Anmeldung, ohne Konto und ohne Nutzungslimits. Analysieren Sie so viel Ruby-Code wie noetig, so oft Sie wollen. Es gibt keine Premium-Stufen, versteckten Kosten oder Ratenlimits. Das Tool laeuft vollstaendig in Ihrem Browser - Ihr Code verlaesst niemals Ihr Geraet.