Skip to Content
Neue Version 12 verfügbar 🎉

Das Projekt ausführen

Ein Lauf verschleiert jedes Ziel des Projekts mit der Engine von Babel Obfuscator in der Reihenfolge seiner Abläufe und schreibt die geschützten Assemblys neben die Eingaben.

Einen Lauf starten

Klicken Sie oben rechts in der Symbolleiste auf Projekt ausführen, drücken Sie Ctrl+Enter (Cmd+Enter unter macOS) oder wählen Sie Ausführen > Verschleierung ausführen.

Sofern ein Ziel keinen eigenen Ausgabepfad festlegt, wird die verschleierte Assembly in einen Ordner BabelOut neben der jeweiligen Eingabe-Assembly geschrieben. Vor dem Start des Laufs prüft Babel Desktop, wohin die Ausgabe geschrieben wird. Es überschreibt weder eine Eingabe-Assembly noch eine Schlüsseldatei oder ein Plugin. Gibt es Ausgabedateien aus einem früheren Lauf, führt es sie unter Vorhandene Ausgabedateien ersetzen? auf und wartet auf Aufgeführte Dateien überschreiben oder Abbrechen.

Die Ziele laufen nacheinander in der Reihenfolge ihrer Abläufe. Schlägt ein Ziel fehl, werden die nachfolgenden Ziele nicht ausgeführt. Auftrag abbrechen im Bereich „Aktivität“ oder Ausführen > Abbrechen hält den Lauf an.

Der Bereich „Aktivität“

Der Bereich Aktivität öffnet sich am unteren Rand des Fensters, wenn ein Lauf beginnt. Die Schaltfläche Aktivität oben rechts in der Symbolleiste blendet ihn ein und aus, und durch Ziehen an seinem oberen Rand ändern Sie seine Höhe.

Die Kopfzeile zeigt den Zustand des Auftrags (Wird ausgeführt, Abgeschlossen, Fehlgeschlagen oder Abgebrochen), die laufende Phase, das Ziel, an dem gerade gearbeitet wird, den Prozentsatz und die Zeit. Zwei Registerkarten enthalten die Ausgabe der Engine:

  • Protokoll führt jede Meldung auf, die die Engine auf dem Verbose Level des Ziels ausgibt. Die letzten 5.000 Meldungen bleiben sichtbar. Die Zeile unter dem Protokoll gibt an, wie viele es insgesamt waren, und der vollständige Engine-Text jedes Laufs wird mit seinen Ergebnissen gespeichert.
  • Probleme sammelt die Warnungen und Fehler, jeweils mit ihrem Code, zum Beispiel W00013. Die Zahl neben dem Namen der Registerkarte zeigt, ob es etwas zu lesen gibt.
Bereich „Activity“ nach einem abgeschlossenen Lauf von BubbleBurst.exe auf der Registerkarte „Problems“ mit der Anzahl 4: vier Warnungen W00013, nach denen die Assemblys PresentationFramework, System.Xaml und PresentationCore nicht aufgelöst werden konnten, rechts 100 % und die Dauer des LaufsBereich „Activity“ nach einem abgeschlossenen Lauf von BubbleBurst.exe auf der Registerkarte „Problems“ mit der Anzahl 4: vier Warnungen W00013, nach denen die Assemblys PresentationFramework, System.Xaml und PresentationCore nicht aufgelöst werden konnten, rechts 100 % und die Dauer des LaufsBereich „Activity“ nach einem abgeschlossenen Lauf von BubbleBurst.exe auf der Registerkarte „Problems“ mit der Anzahl 4: vier Warnungen W00013, nach denen die Assemblys PresentationFramework, System.Xaml und PresentationCore nicht aufgelöst werden konnten, rechts 100 % und die Dauer des Laufs

Warnungen eines Laufs auf der Registerkarte „Probleme“

Während des Laufs zeigt jedes Ziel seinen Zustand auf seinem Knoten und in den Spalten Status und Fortschritt der Tabelle. Am Ende des Laufs zeigt die Statusleiste den Zustand des Auftrags und, wenn es Warnungen gab, deren Anzahl, die die Registerkarte Probleme öffnet.

Zeichenfläche nach einem Lauf: Der Zielknoten BubbleBurst.exe meldet „completed“, der Bereich „Activity“ zeigt das Kennzeichen „Completed“, die Registerkarten „Log“ und „Problems“ mit 3 Problemen, 100 Prozent und das Ende des Engine-Protokolls mit der gesamten Laufzeit und 3 Warnungen, und die Schaltfläche „Results“ ist verfügbarZeichenfläche nach einem Lauf: Der Zielknoten BubbleBurst.exe meldet „completed“, der Bereich „Activity“ zeigt das Kennzeichen „Completed“, die Registerkarten „Log“ und „Problems“ mit 3 Problemen, 100 Prozent und das Ende des Engine-Protokolls mit der gesamten Laufzeit und 3 Warnungen, und die Schaltfläche „Results“ ist verfügbarZeichenfläche nach einem Lauf: Der Zielknoten BubbleBurst.exe meldet „completed“, der Bereich „Activity“ zeigt das Kennzeichen „Completed“, die Registerkarten „Log“ und „Problems“ mit 3 Problemen, 100 Prozent und das Ende des Engine-Protokolls mit der gesamten Laufzeit und 3 Warnungen, und die Schaltfläche „Results“ ist verfügbar

Ein abgeschlossener Lauf im Bereich „Aktivität“

Warnungen

Eine Warnung hält den Lauf nicht an: Das Ziel wird als Mit Warnungen abgeschlossen markiert. Lesen Sie die Warnungen trotzdem, denn sie weisen oft auf eine Abhängigkeit hin, die die Engine nicht gefunden hat, oder auf eine Einstellung, die keine Wirkung hatte.

  • Werkzeuge: Auftragswarnungen in der Befehlspalette führt die Warnungen des aktuellen Laufs auf.
  • Werkzeuge: Warnungsreferenz öffnet den durchsuchbaren Katalog der Warncodes der Engine mit ihren Beschreibungen.
Dialog mit der Referenz der Engine-Warnungen, mit einem Suchfeld und einer Liste von Warncodes wie CF0001, CF0002, EI0001 und EM0001Dialog mit der Referenz der Engine-Warnungen, mit einem Suchfeld und einer Liste von Warncodes wie CF0001, CF0002, EI0001 und EM0001Dialog mit der Referenz der Engine-Warnungen, mit einem Suchfeld und einer Liste von Warncodes wie CF0001, CF0002, EI0001 und EM0001

Die Referenz der Engine-Warnungen

Eine Warnung, dass die Engine eine Assembly nicht auflösen konnte, wie die weiter oben auf der Registerkarte Probleme, bedeutet meist, dass eine referenzierte Assembly nicht neben der Eingabe liegt. Fügen Sie ihren Ordner auf der Registerkarte Suchordner der Details in der Tabelle hinzu, oder fügen Sie die Assembly als Abhängigkeit vom Typ „Referenz“ hinzu.

Die Ausgabe und die verschleierte Anwendung

Nach einem Lauf öffnen die Schaltflächen oben rechts im Bereich Aktivität den Ausgabeordner und starten die verschleierte Anwendung. Datei > Ausgabe im Ordner anzeigen, Ausgabe anzeigen in der Statusleiste und Ausführen > Verschleierte App starten (Ctrl+F5, Cmd+F5 unter macOS) bewirken dasselbe für das ausgewählte Ziel. Babel Desktop startet eine ausführbare Windows-Datei direkt und eine .NET-Anwendung über dotnet, wenn ihre Datei .runtimeconfig.json vorhanden ist. Eine Bibliothek bietet es nicht zum Starten an.

Abläufe parallel ausführen

Ein Projekt mit mehreren unabhängigen Abläufen, etwa Bibliotheken, die einander nicht referenzieren, kann diese gleichzeitig verschleiern. Schalten Sie unter Einstellungen > Verschleierung die Option Unabhängige Abläufe parallel ausführen ein und wählen Sie, wie viele Abläufe gleichzeitig laufen, von 2 bis 4. Die Option ist standardmäßig ausgeschaltet.

Jeder Ablauf läuft in einem eigenen Engine-Prozess, und innerhalb eines Ablaufs laufen die Ziele weiterhin der Reihe nach. Babel Desktop prüft das gesamte Projekt, bevor ein Ablauf startet, wie bei einem einzelnen Lauf. Während die Abläufe laufen, gilt:

  • Die Fortschrittsanzeige zählt die abgeschlossenen Ziele im Verhältnis zu den geplanten, und jede Zeile des Protokolls beginnt mit dem Namen ihrer Assembly, zum Beispiel [Library1.dll].
  • Ein Ziel, das fehlschlägt, hält seinen eigenen Ablauf an. Die anderen Abläufe laufen weiter, und der Lauf wird als fehlgeschlagen gemeldet.
  • Auftrag abbrechen hält alle Abläufe an.
  • Brauchen mehrere Ziele ein Zertifikatspasswort, fragt Babel Desktop nach einem Passwort nach dem anderen und nennt die Assembly, die es benötigt.

Jeder Engine-Prozess braucht ein paar Sekunden zum Starten. Die parallele Ausführung spart daher bei großen Assemblys Zeit. Ein kleines Projekt kann schneller fertig sein, wenn die Ziele nacheinander laufen. Mit einer Floating-Lizenz führt Babel Desktop immer nur einen Ablauf aus.

Nach dem Lauf

Nach einem Lauf können Sie prüfen, wie gut jedes Ziel geschützt ist, und die Stacktraces übersetzen, die die verschleierte Anwendung meldet.

  • Ausführungsergebnisse zeigt den Verschleierungswert jedes Ziels und die Schutzstatistiken des Laufs.
  • Der Stack-Decoder übersetzt verschleierte Stacktraces mit den XML-Map-Dateien des Laufs in die ursprünglichen Namen zurück.
Last updated on