Skip to Content
Neue Version 12 verfügbar 🎉
ObfuscatorBabel Obfuscator

Babel Obfuscator

Babel Obfuscator schützt .NET-Assemblys vor Reverse Engineering, von .NET Framework 2.0 bis .NET 10, auf Desktop-, Mobil-, Web- und Serverzielen. Es benennt kompilierten Code um, verschlüsselt ihn und strukturiert ihn neu, sodass sich nicht mehr zu lesen lohnt, was ein Decompiler wiederherstellt.

Warum .NET-Code verschleiern

Software, die in .NET-Sprachen wie C#, VB.NET und F# geschrieben ist, wird in MSIL (Microsoft Intermediate Language) kompiliert, einen CPU-unabhängigen Anweisungssatz, der zusammen mit umfangreichen Metadaten in der Assembly gespeichert wird: Typnamen, Membersignaturen, Zeichenfolgenliterale und Attribute. Zusammen erlauben sie es frei verfügbaren Decompilern, in Sekunden und ohne besondere Kenntnisse Quellcode zu rekonstruieren, der dem Original nahekommt.

Die Verschleierung transformiert die kompilierte Assembly so, dass diese Rekonstruktion keinen Nutzen mehr hat. Babel Obfuscator benennt Symbole um, verschlüsselt Zeichenfolgen, Konstanten und Ressourcen, schreibt den Kontrollfluss von Methoden um und kann ganze Methodenrümpfe verschlüsseln, die dann in einer verwalteten virtuellen Maschine ausgeführt werden. Die Anwendung verhält sich genau wie zuvor, der Code, den ein Angreifer wiederherstellt, dagegen nicht.

Neuerungen in 12.0

Version 12.0 härtet Babel gegen automatisierte Deobfuskierung, erweitert die Manipulationserkennung auf Mobilgeräte und öffnet das Produkt für KI-Assistenten.

Die Versionen vor 12.0 brachten weitere Neuerungen: Version 11.8 ergänzte eine verwaltete AES-Entschlüsselungsroutine, mit der geschützte Assemblys auf Hosts im FIPS-Modus starten, eine deutlich schnellere Verschleierung sehr großer Assemblys und das Beispiel Hardware-Dongle-Bindung. Version 11.7 führte die KI-freundliche Befehlszeile ein.

Das Kennzeichen „Ultimate“

Einige Überschriften in diesem Handbuch tragen dieses Kennzeichen: Ultimate. Es bedeutet, dass die Funktion ab der Ultimate-Edition von Babel Obfuscator verfügbar ist. Wenn Sie mit dem Mauszeiger auf das Kennzeichen zeigen, erscheint dieselbe Information.

Babel Obfuscator gibt es in zwei Editionen. Enterprise ist eine Einzelbenutzerlizenz für Windows mit dem Befehlszeilentool und der MSBuild-Aufgabe des Zip-Pakets für .NET Framework (babel_net472). Ultimate ist eine Standortlizenz, die unter Windows, Linux und macOS auf beliebig vielen Rechnern läuft. Sie ergänzt Babel Desktop, die NuGet-Pakete, die Integration in Buildserver, das Babel Encrypt Plugin und die Schutzfunktionen, die mit 12.0 für die Ultimate-Stufe eingeführt wurden: Chained State, die STREAM-Zeichenfolgenverschlüsselung und die Manipulationserkennung über die Paketintegrität unter Android und iOS. Die Editionen von Babel Licensing, Server und Data Center, enthalten Babel Obfuscator Ultimate, sodass jede gekennzeichnete Funktion auch mit ihnen verfügbar ist. Einige Funktionen rund um die Lizenzverwaltung, etwa die Lizenzverwaltungstools des MCP-Servers, gibt es nur in diesen beiden Editionen, und ihre Seite weist darauf hin.

Eine Überschrift ohne Kennzeichen beschreibt eine Funktion beider Editionen. Die vollständige Übersicht mit Preisen finden Sie auf der Seite Editionen vergleichen .

Schutzfunktionen

Jede Funktion lässt sich einzeln einschalten und mit Verschleierungsregeln für jedes Symbol abstimmen. So wenden Sie die stärksten Transformationen nur dort an, wo das geistige Eigentum liegt.

Umbenennung von Symbolen

Namespaces, Typen, Member und Parameter in bedeutungslose Namen umbenennen, in ASCII oder Unicode, mit Unterstützung für XAML/BAML und assemblyübergreifenden Map-Dateien.

Zeichenfolgenverschlüsselung

Zeichenfolgenliterale mit den Algorithmen XOR, HASH oder STREAM verschlüsseln oder einen eigenen Algorithmus einbinden.

Kontrollflussverschleierung

Undurchsichtige Verzweigungen einfügen, Bedingungen umschreiben und Methoden um Dispatcher herum abflachen, bis hin zum Ultimate-Algorithmus Chained State.

Codeverschlüsselung

Methodenrümpfe verschlüsseln und in der verwalteten Babel Virtual Machine ausführen. Für die funktionsbasierte Lizenzierung lassen sie sich in externen Dateien oder hinter Passwörtern ablegen.

Dynamic Proxy

Aufrufe externer und interner Methoden über generierte Proxys leiten, sodass die eigentlichen Aufrufziele aus dem IL-Code verschwinden.

Ressourcenverschlüsselung

Eingebettete Ressourcen komprimieren und verschlüsseln und zur Laufzeit bei Bedarf entschlüsseln.

Wert- und Arrayverschlüsselung

Numerische Inline-Konstanten und Array-Initialisierer verbergen, etwa Schlüssel und Nachschlagetabellen.

Debugging-Schutz

Einen angehängten Debugger erkennen und den Prozess beenden oder einen eigenen Handler ausführen.

Manipulationserkennung

Den Hash des Abbilds auf dem Desktop und die Signatur oder Identität des Pakets unter Android und iOS prüfen, dann den Prozess beenden oder mit eigenem Code reagieren.

Zusammenführen und Einbetten

Abhängigkeiten in eine Assembly integrieren oder als verschlüsselte Ressourcen einbetten, für eine Bereitstellung als einzelne Datei mit kleinerer Angriffsfläche.

Optimierungen

Ungenutzten Code entfernen, Klassen versiegeln, Attribute entfernen und kleine Member inline erweitern, um die Metadaten zu verkleinern und das Laden zu beschleunigen.

Verschleierungsregeln

Jede Funktion mit XML-Regeln und benutzerdefinierten Attributen fein abstimmen, unterstützt vom Analyse-Agent, der Reflexion und Serialisierung funktionsfähig hält.

Für KI-gestützte Arbeitsabläufe entwickelt

Babel behandelt KI-Assistenten als vollwertige Bediener des Produkts, auf zwei Ebenen.

MCP-Server von Babel. Babel Desktop kann auf dem lokalen Rechner einen MCP -Endpunkt bereitstellen. Claude Code oder jeder andere Client, der das Model Context Protocol spricht, bedient die Anwendung dann so, wie Sie es tun würden: Er legt Projekte an, fügt Assemblys hinzu, schreibt Regeln, wählt aus, was zusammengeführt oder eingebettet wird, startet die Verschleierung, liest Warnungen und Statistiken, decodiert Stacktraces, erstellt Designs und nimmt Screenshots auf, um die eigene Arbeit zu prüfen. In den Editionen Server und Data Center verwaltet derselbe Server die Lizenzdatenbank. Der Server ist standardmäßig ausgeschaltet. Schalten Sie ihn unter Einstellungen > MCP mit Automatisierungsserver aktivieren ein. Er lauscht nur auf der Loopback-Adresse und kann ein Zugriffstoken verlangen. Claude-Code-Befehl kopieren auf derselben Seite liefert Ihnen den Registrierungsbefehl. Siehe MCP-Server von Babel.

Register Babel Desktop with Claude Code
claude mcp add --transport http babel-obfuscator http://127.0.0.1:8765/mcp \ --header "X-Babel-Token: paste-the-token-from-settings-mcp"

KI-freundliche Befehlszeile. Seit Version 11.7 kann das Befehlszeilentool einen strukturierten, versionierten Ausgabestrom für CI-Pipelines und Agenten ausgeben: --format=json oder --format=ndjson stellen stdout auf das Schema babel.cli.v1 um, mit --quiet brechen unbeaufsichtigte Läufe sofort mit einem Fehler ab, statt auf eine Eingabe zu warten, und --strict-exit schaltet semantische Exitcodes ein. Dasselbe Flag macht --help und --version maschinenlesbar, sodass ein Agent jede Option selbst ermitteln kann. Siehe KI-freundlicher Modus.

Babel Licensing hat einen eigenen MCP-Server für den gehosteten Licensing Service, sodass ein Assistent Kunden, Lizenzen und Aktivierungen über die REST-API verwalten kann. Siehe KI-Integration im Handbuch von Babel Licensing.

Plattformen und Frameworks

BereichUnterstützung
BuildhostWindows, mit dem Befehlszeilentool und der MSBuild-Aufgabe aus den Zip-Paketen; Linux, macOS und CI-Buildserver über die NuGet-Pakete von Babel und das dotnet-Tool (Ultimate-Edition); Babel Desktop unter Windows, macOS und Linux (Ultimate-Edition)
Ziellaufzeiten.NET 10 und alle früheren Versionen von .NET und .NET Core, .NET Framework 2.0 bis 4.8, .NET Standard, Mono
AnwendungsmodelleDesktop (WPF, Windows Forms, Avalonia), .NET MAUI unter Android und iOS, Xamarin, Blazor, ASP.NET Core, UWP, nanoFramework
SprachenC#, einschließlich C# 14, VB.NET und F#
VeröffentlichungsmodiFrameworkabhängig, eigenständig, Einzeldatei, getrimmt und NativeAOT

Die Verschleierung arbeitet auf IL-Ebene, daher kann ein Buildhost unter einem Betriebssystem Assemblys schützen, die für einen beliebigen Laufzeitbezeichner veröffentlicht werden. Die Umbenennung von Symbolen, die STREAM-Zeichenfolgenverschlüsselung und die Kontrollflussverschleierung, einschließlich Chained State, überstehen Trimming und NativeAOT unverändert. Funktionen, die ein in den Speicher abgebildetes Abbild oder dynamischen IL-Code benötigen, etwa Codeverschlüsselung, Dynamic Proxy und die Manipulationsprüfung für den Desktop, haben auf MAUI-, Blazor- und AOT-Zielen dokumentierte Grenzen. Jede Funktionsseite nennt sie.

So führen Sie Babel aus

Die Ultimate-Edition und die Editionen von Babel Licensing enthalten die NuGet-Pakete, sodass Babel als dotnet-Tool unter Windows, Linux und macOS und in Builds im SDK-Stil läuft. Babel Desktop führt die Engine unter .NET 10 aus, daher setzt auch die Verschleierung in Babel Desktop eine dieser Editionen voraus. Die Enterprise-Edition stellt das Befehlszeilentool für Windows und die MSBuild-Aufgabe des Zip-Pakets für .NET Framework bereit.

Nächste Schritte

Last updated on