Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
PreEmptive Protection – Dotfuscator bietet umfassenden .NET-Anwendungsschutz, der problemlos in Ihren lebenszyklus der sicheren Softwareentwicklung passt. Verwenden Sie sie, um Desktop-, Mobile-, Server- und eingebettete Anwendungen zu härten, zu schützen und zu optimieren, um dazu beizutragen, Geschäftsgeheimnisse und andere geistiges Eigentum (IP) zu sichern, Piraterie und Fälschungen zu verringern sowie vor Manipulationen und unbefugtem Debuggen zu schützen. Dotfuscator funktioniert auf kompilierten Assemblys, ohne dass mehr Programmierung oder sogar Zugriff auf Quellcode erforderlich ist.
Warum Der Schutz wichtig ist
Es ist wichtig, Ihr geistiges Eigentum (IP) zu schützen. Der Code Ihrer Anwendung enthält Design- und Implementierungsdetails, die als IP betrachtet werden können. Anwendungen, die auf .NET Framework basieren, enthalten jedoch erhebliche Metadaten und hochrangigen Zwischencode, wodurch sie einfach rückwärtsentwickelt werden können, nur mithilfe eines von vielen kostenlosen Automatisierungstools. Durch Unterbrechung und Beendigung des Reverse Engineerings können Sie nicht autorisierte IP-Offenlegung verhindern und nachweisen, dass Ihr Code Geschäftsgeheimnisse enthält. Dotfuscator kann Ihre .NET-Assemblys verschleiern , um reverse-engineering zu verhindern, während das ursprüngliche Anwendungsverhalten beibehalten wird.
Außerdem ist es wichtig, die Integrität Ihrer Anwendung zu schützen. Neben reverse-engineering können schlechte Akteure versuchen, Ihre Anwendung zu piraten, das Verhalten der Anwendung zur Laufzeit zu ändern oder Daten zu bearbeiten. Dotfuscator kann Ihre Anwendung mit der Möglichkeit einfügen, nicht autorisierte Verwendungen zu erkennen und darauf zu reagieren, einschließlich Manipulationen, Debuggen von Drittanbietern und gerooteten Geräten.
Weitere Informationen dazu, wie Dotfuscator in einen sicheren Softwareentwicklungslebenszyklus passt, finden Sie auf der SDL App Protection-Seite von PreEmptive Solutions.
Über Dotfuscator Community
Ihre Kopie von Microsoft Visual Studio enthält eine Kopie von PreEmptive Protection – Dotfuscator Community, kostenlos für den persönlichen Gebrauch. (Diese kostenlose Version wurde zuvor als Dotfuscator Community Edition oder Dotfuscator CE bezeichnet.)
Anweisungen zum Installieren der in Visual Studio enthaltenen Version von Dotfuscator Community finden Sie auf der Installationsseite.
Dotfuscator Community bietet eine Reihe von Softwareschutz- und Härtungsdiensten für Entwickler, Architekten und Tester. Beispiele für .NET-Verschleierung und andere Anwendungsschutzfeatures , die in der Dotfuscator Community enthalten sind:
- Umbenennen von Bezeichnern, um das Reverse Engineering der kompilierten Assemblys zu erschweren.
- Antimanipulationen zum Erkennen der Ausführung manipulierter Anwendungen und Beenden oder Reagieren auf manipulierte Sitzungen.
- Antidebugging , um die Anlage eines Debuggers an eine ausgeführte Anwendung zu erkennen und auf debuggierte Sitzungen zu beenden oder darauf zu reagieren.
- Anti-root-Gerät , um zu erkennen, ob die Anwendung auf einem gerooteten Android-Gerät ausgeführt wird und Sitzungen auf diesen Geräten beenden oder darauf reagieren.
- Ablaufmechanismen von Anwendungen , die ein „Lebensende“-Datum codieren und abgelaufene Anwendungssitzungen beenden.
Dotfuscator Community bietet grundlegenden Schutz direkt aus der Box. Noch mehr Anwendungsschutzmaßnahmen stehen registrierten Benutzern der Dotfuscator Community und benutzern von PreEmptive Protection - Dotfuscator Professional, dem weltweit führenden .NET-Obfuscator, zur Verfügung.
Erste Schritte
Um mit der Verwendung der Dotfuscator Community aus Visual Studio zu beginnen, geben Sie dotfuscator in das Suchfeld (STRG+Q) ein.
- Wenn dotfuscator Community bereits installiert ist, zeigt das Suchfeld die Option zum Starten der Dotfuscator Community unter der Menüüberschrift an. Ausführliche Informationen finden Sie auf der Seite "Erste Schritte" des vollständigen Dotfuscator Community-Benutzerhandbuchs.
- Wenn Dotfuscator Community noch nicht installiert ist, zeigt das Suchfeld stattdessen PreEmptive Protection - Dotfuscator unter der Überschrift Einzelne Komponenten an. Details finden Sie auf der Installationsseite .
Sie können auch die neueste Version von Dotfuscator Community auf der Seite "Dotfuscator Downloads" auf preemptive.com abrufen.
Upgrade von Dotfuscator Community 5
Erfahren Sie, wie Sie ein Upgrade auf PreEmptive Protection – Dotfuscator Community 6 durchführen.
Je nach Installationsverlauf und Version von Visual Studio wird derzeit Dotfuscator Community 5, die vorherige Hauptversion, ausgeführt. Wenn ja, sollten Sie ein Upgrade durchführen, da es wichtig ist, sicherzustellen, dass Ihr Code über die neuesten Schutzmaßnahmen verfügt. Upgrades sind kostenlos verfügbar.
In diesem Artikel wird erläutert, wie Sie ermitteln, über welche Version Sie derzeit verfügen, wie Sie bei Bedarf auf Version 6 aktualisieren und welche Features zwischen den beiden Versionen ersetzt oder entfernt wurden.
Ermitteln der Dotfuscator-Version
Wenn Sie nicht sicher sind, welche Version von Dotfuscator Sie ausführen, können Sie die Version ermitteln, indem Sie eine der folgenden Optionen ausführen:
Starten Sie die grafische Benutzeroberfläche der Dotfuscator Community (GUI), indem Sie zum Menü "Extras " von Visual Studio wechseln und "PreEmptive Protection - Dotfuscator Community" auswählen.
Öffnen Sie im Dotfuscator-GUI das Hilfemenü und wählen Sie "Über..." aus, um den Bildschirm "Über..." anzuzeigen.
Dieser Bildschirm listet die Version von Dotfuscator auf.
Wenn Sie Dotfuscator in Ihren Build mit der Befehlszeilenschnittstelle integriert haben, können Sie Ihre Buildprotokolle auf eine Zeile überprüfen, die dem folgenden Beispiel entspricht:
Dotfuscator Community Version 5.42.0.9514-e0e25f754Möglicherweise müssen Sie die Ausführlichkeit Ihres Builds erhöhen, um diesen Text anzuzeigen. Informationen zu Visual Studio finden Sie unter "Verbosity Settings".
Die erste ganze Zahl der Version vor dem ersten Punkt .gibt die Hauptversion von Dotfuscator an. Wenn die erste ganze Zahl lautet 5, sollten Sie die Upgradeschritte auf dieser Seite ausführen, damit Sie die neuesten Dotfuscator 6-Features und -Schutzupdates nutzen können.
Anweisungen zur Aktualisierung
Dieser Abschnitt enthält Sätze von Anweisungen für das Upgrade typischer Verwendungen der Dotfuscator Community von Version 5 auf Version 6.
Installieren von Dotfuscator 6
Dotfuscator Community wird als Erweiterung für Visual Studio verteilt. Die Anweisungen zum Installieren von Dotfuscator 6 variieren je nachdem, welche Version von Visual Studio Sie verwenden:
Visual Studio 2022 Dotfuscator Community 6 ist in Visual Studio 2022 enthalten.
Visual Studio 2019 Dotfuscator Community 6 ist in höheren Versionen von Visual Studio 2019 (Version 16.10.0 und höher) enthalten. Aktualisieren Sie Visual Studio 2019 auf die neueste Version. Durch das Automatische Aktualisieren von Visual Studio wird jede Dotfuscator Community 5-Installation auf Dotfuscator Community 6 aktualisiert.
Wenn Dotfuscator noch nicht installiert ist, aktualisieren Sie Zuerst Visual Studio, und lesen Sie dann die Installation.
Zusätzlich zu den Versionen mit Visual Studio können Sie immer die neuesten Versionen der Dotfuscator Community über die Seite "Dotfuscator Downloads " abrufen.
Visual Studio 2017 Diese Version von Visual Studio wurde nur mit Dotfuscator Community 5 ausgeliefert. Sie können jedoch auf Dotfuscator Community 6 installieren oder aktualisieren, indem Sie zur Seite "Dotfuscator Downloads " wechseln und den entsprechenden Downloadlink auswählen.
Führen Sie die heruntergeladene
.vsixDatei aus, und folgen Sie den Anweisungen, um Dotfuscator Community 6 in Visual Studio zu installieren. Bestehende Dotfuscator Community 5-Installationen werden ebenfalls aktualisiert.Frühere Versionen von Visual Studio Dotfuscator Community 6 wird in diesen Versionen von Visual Studio nicht unterstützt. Es wird empfohlen, ein Upgrade auf eine neuere Version von Visual Studio oder ein Upgrade von Dotfuscator Community auf Dotfuscator Professional zu durchführen.
Wenn Sie zuvor Dotfuscator Community 5 registriert haben, wird diese Registrierung automatisch konvertiert, wenn Sie Dotfuscator Community 6 zum ersten Mal ausführen.
Aktualisieren von Pfaden zur CLI
Wenn Sie zuvor die Befehlszeilenschnittstelle (CLI) von Dotfuscator 5 zum Schutz Ihrer App verwendet haben, müssen Sie den Pfad zur CLI in allen Projekten aktualisieren und Skripts erstellen, die darauf verweisen.
Der Grund, warum ein Pfad zur CLI von Dotfuscator jetzt ungültig ist, ist, weil die Namen einiger der mit Dotfuscator Community installierten ausführbaren Dateien in Dotfuscator 6 geändert wurden. Diese Änderung sorgt dafür, dass die ausführbaren Namen in Dotfuscator Community und Dotfuscator Professional gleich sind.
| Ausführbare Datei für... | Dotfuscator 5 | Dotfuscator 6 |
|---|---|---|
| GUI | dotfuscator.exe |
dotfuscatorUI.exe |
| CLI | dotfuscatorCLI.exe |
dotfuscator.exe |
Hinweis
Der CLI-Pfad ist möglicherweise auch ungültig, wenn Sie ein Upgrade zwischen Hauptversionen von Visual Studio durchführen oder Visual Studio-Editionen wechseln, da die Dotfuscator CLI im Installationsverzeichnis von Visual Studio installiert wird. Die unten aufgeführten Symptome und Lösungen gelten auch für dieses Szenario.
Wenn Ihr Build einen ungültigen Dotfuscator CLI-Pfad verwendet, erhalten Sie möglicherweise Fehler, z. B. eines der folgenden Beispiele:
'"[...]\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe"' is not recognized as an internal or external command, operable program or batch file.
The command ""[...]\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe" Dotfuscator.xml" exited with code 9009.
So aktualisieren Sie Ihren Build, um den richtigen CLI-Pfad zu verwenden:
Starten Sie die Dotfuscator Community-GUI , indem Sie zum Menü "Extras " von Visual Studio wechseln und "PreEmptive Protection - Dotfuscator Community" auswählen.
Wechseln Sie in der Dotfuscator Community-GUI zum Menü "Extras ", und wählen Sie "Dotfuscator-Eingabeaufforderung" aus.
Geben Sie in der daraufhin geöffneten Eingabeaufforderung den Befehl
where dotfuscator.exeein. Kopieren Sie den ersten Pfad, der in einem Nur-Text-Dokument angezeigt wird, um später darauf verweisen zu können. Dieser Pfad ist der neue Pfad zur CLI der Dotfuscator Community 6.Öffnen Sie das Projekt oder die Buildkonfiguration, die für Ihr Buildsystem geeignet ist.
- Öffnen Sie für Visual Studio-Projekte die Projektdatei (
.csprojoder.vbproj.fsproj) als Nur-Text. Öffnen Sie eine Projektdatei in Visual Studio.
- Öffnen Sie für Visual Studio-Projekte die Projektdatei (
Suchen Sie alle Stellen in Ihrem Projekt oder Build-Konfiguration, an denen ein alter Pfad zur CLI von Dotfuscator Community 5 verwendet wird. Normalerweise handelt es sich um einen Pfad, der mit
dotfuscatorCLI.exeendet.Ersetzen Sie die alten Pfade in Schritt 5 durch den neuen Pfad, den Sie in Schritt 3 angegeben haben.
Wenn einer der alten Pfade kein absoluter Pfad ist, sollten Sie den neuen Pfad entsprechend basierend auf dem Kontext anpassen. Im folgenden Beispiel wurde die
VSInstallDirUmgebungsvariable im alten Pfad verwendet, sodass der entsprechende neue Pfad identisch sein sollte.- Neuer Pfad aus Schritt 3:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe - Alter Pfad in der Projektdatei:
%VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscatorCLI.exe - Neuer Pfad in der Projektdatei:
%VSInstallDir%\Common7\IDE\Extensions\PreEmptiveSolutions\DotfuscatorCE\dotfuscator.exe
- Neuer Pfad aus Schritt 3:
Wenn Sie ein Quellcodeverwaltungssystem wie Git verwenden, stellen Sie sicher, dass die Änderungen aus Schritt 6 in diesem System angezeigt werden. Verteilen Sie diese Änderungen an den Rest Ihres Teams, da sie möglicherweise für Ihr System und Ihre Organisation geeignet sind.
Warnung
Da dotfuscator.exe sich auf die grafische Benutzeroberfläche (GUI) in Dotfuscator 5 bezieht, sich jedoch auf die Befehlszeilenschnittstelle (CLI) in Dotfuscator 6 bezieht, achten Sie beim Aktualisieren von Buildskripts, die auf mehreren Computern gemeinsam genutzt werden.
Ein Computer mit Dotfuscator 5 installiert, der ein Skript ausführt, das für Dotfuscator 6 aktualisiert wird, bewirkt, dass das Skript die grafische Benutzeroberfläche anstelle der vorgesehenen Befehlszeilenschnittstelle startet. Dies kann dazu führen, dass der Build erfolgreich ist, obwohl der Schutz von Dotfuscator nicht angewendet wird, was bedeutet, dass Ihre Ausgabepakete NICHT geschützt werden.
In anderen Fällen kann sie stattdessen zu einem Buildfehler führen.
Um diese Szenarien zu vermeiden, aktualisieren Sie die Dotfuscator Community von Version 5 auf Version 6 auf allen Ihren Computern und erstellen Skripts gleichzeitig.
Aktualisieren von Dotfuscator-Konfigurationsdateien
Alle Dotfuscator-Konfigurationsdateien (z. B. Dotfuscator.xml), die vor Dotfuscator 6 erstellt wurden, müssen aktualisiert werden.
Wenn Sie versuchen, die Dotfuscator CLI mit einer alten Konfigurationsdatei auszuführen, erhalten Sie Fehler wie die folgenden Beispiele:
Dotfuscator Engine Initialization error: PreEmptive Analytics, Authenticode signing, and the Introduce Explicit Method Overrides setting are no longer supported. Please open your Dotfuscator config in the Config Editor which automatically upgrades it.
Von Bedeutung
Sie erhalten diesen Fehler und müssen ihre Konfigurationsdatei aktualisieren, auch wenn Sie die erwähnten Features nicht verwendet haben.
So aktualisieren Sie eine Konfigurationsdatei:
Starten Sie die grafische Benutzeroberfläche der Dotfuscator Community (GUI), indem Sie zum Menü "Extras " von Visual Studio wechseln und "PreEmptive Protection - Dotfuscator Community" auswählen.
Öffnen Sie die fragliche Dotfuscator-Konfigurationsdatei (STRG+O).
Die folgende Meldung wird auf der Registerkarte " Buildausgabe " angezeigt:
PreEmptive Analytics, Authenticode signing, and the Introduce Explicit Method Overrides setting are no longer supported. The associated settings have been removed. Please save your upgraded Dotfuscator config.Speichern Sie die aktualisierte Dotfuscator-Konfigurationsdatei (STRG+S).
Wenn Sie ein Quellcodeverwaltungssystem wie Git verwenden, stellen Sie sicher, dass die Änderungen an der Dotfuscator-Konfigurationsdatei in diesem System widerzuspiegeln sind. Verteilen Sie diese Änderungen an den Rest Ihres Teams, da sie möglicherweise für Ihr System und Ihre Organisation geeignet sind.
Aktualisieren von Verweisen auf Attributbibliotheken
Mit Dotfuscator können Sie bestimmte Features über .NET-Attribute in Ihrem Quellcode konfigurieren. Wenn Ihre Projekte solche Attribute verwendet haben, müssen Sie sie möglicherweise aktualisieren, um Änderungen in Dotfuscator 6 zu beheben.
Verschleierungsattribute
Es wurden keine Änderungen an den Verschleierungsattributen vorgenommen. Diese Attribute werden in den .NET-Basisklassenbibliotheken definiert, und Dotfuscator Community 6 berücksichtigt sie weiterhin.
Attribute überprüfen
Die Bibliothek, die die Überprüfungsattribute enthält, wurde geändert. In Dotfuscator Community 5 wurde sie zusammen mit Dotfuscator selbst als Datei verteilt. Ab Dotfuscator Community 6 ist es als öffentliches NuGet-Paket verfügbar.
Wenn Sie versuchen, ein Visual Studio-Projekt zu erstellen, das immer noch auf den alten Speicherort verweist, erhalten Sie möglicherweise Fehler wie die folgenden Beispiele:
The type or namespace name 'PreEmptive' could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name 'TamperCheckAttribute' could not be found (are you missing a using directive or an assembly reference?)
Möglicherweise erhalten Sie auch diese Warnung:
Could not resolve this reference. Could not locate the assembly "PreEmptive.Attributes". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
So aktualisieren Sie Ihr Projekt so, dass er den neuen Speicherort verwendet:
Entfernen Sie den Assemblyverweis des Projekts auf
PreEmptive.Attributes.dll.Fügen Sie dem Projekt den NuGet-Paketverweis
PreEmptive.Protection.Checks.Attributeshinzu. Das Paket ist im NuGet-Standardfeed nuget.org verfügbar.
Die Parameter jedes Check-Attributs ExtendedKey wurden ebenfalls entfernt.
Diese Parameter wurden in Dotfuscator Community 5 ignoriert, aber wenn Ihr Quellcode sie unabhängig davon verwendet hat, entfernen Sie diese Verwendungen, damit Ihr Projekt kompiliert werden kann.
Instrumentationsattribute
Instrumentierungsattribute wurden verwendet, um die PreEmptive Analytics Funktion in Dotfuscator 5 zu konfigurieren. PreEmptive Analytics wurde jedoch in Dotfuscator 6 entfernt; siehe abschnitt "Removed Feature subsection PreEmptive Analytics". Daher wurden auch die Instrumentierungsattribute entfernt.
Wenn Sie versuchen, ein Visual Studio-Projekt zu erstellen, das Instrumentierungsattribute verwendet hat, erhalten Sie möglicherweise die gleichen Arten von Fehlern und Warnungen wie in check Attributes angegeben, obwohl sich die Attributnamen unterscheiden (z FeatureAttribute . B. anstelle von TamperCheckAttribute).
Wenn Sie versuchen, Dotfuscator auf bereits erstellten Assemblys auszuführen, die Verwendungen von Instrumentierungsattributen enthalten, erhalten Sie Fehler wie die folgenden Beispiele:
The PreEmptive.Attributes.FeatureAttribute attribute (annotating SomeNamespace.SomeType::SomeMethod) is not recognized by this version of Dotfuscator.
Um diese Probleme zu beheben, entfernen Sie alle Verwendungen von Instrumentierungsattributen aus Ihrem Quellcode.
Außerdem müssen Sie die Assemblyverweise auf die Bibliothek entfernen, in der die Attribute definiert wurden. PreEmptive.Attributes.dll
(Wenn Sie auch die in dieser Bibliothek definierten Überprüfungsattribute verwendet haben, wurden sie verschoben. Siehe oben "Attribute überprüfen ".)
Entfernte Features
Dotfuscator Community 6 stellt Breaking Changes zu Dotfuscator Community 5 vor. Wenn Sie ein Upgrade von Dotfuscator Community 5 durchgeführt haben, beschreibt dieser Abschnitt, wie Sie mit den Änderungen umgehen können, die möglicherweise Buildänderungen erfordern oder die Ausgabe von Dotfuscator beeinflussen.
Eine vollständige Liste der Änderungen ist im Änderungsprotokoll verfügbar.
PreEmptive Analytics
Dotfuscator 6 unterstützt keine PreEmptive Analytics, einschließlich Check Telemetry. Prüfungen selbst (einschließlich Anwendungsbenachrichtigungs- und Überprüfungsaktionen) werden jedoch weiterhin unterstützt.
Um Dotfuscator 6 zu verwenden, aktualisieren Sie Ihre Konfigurationsdatei , um die PreEmptive Analytics-Einstellungen zu entfernen.
Wenn Sie In-Code-Attribute zum Konfigurieren von PreEmptive Analytics verwendet haben, entfernen Sie sie aus Dem Quellcode , und erstellen Sie Ihre Eingabeassemblys neu, bevor Dotfuscator 6 diese Assemblys schützen kann.
Wenn Sie die "Check-Telemetrie" verwenden, um zu melden, wenn eine Prüfung einen ungültigen Zustand erkennt (z. B. wenn Manipulation erkannt wird), können Sie sie durch eine benutzerdefinierte Applikationsbenachrichtigung ersetzen, die den Vorfall an Azure Application Insights oder einen anderen Dienst Ihrer Wahl meldet.
Nicht unterstützte Anwendungstypen
Die folgenden Anwendungstypen werden in Dotfuscator 6 nicht mehr unterstützt:
- Windows Phone
- WinRT (Windows 8-Apps)
- Silverlight
- Unity (Spielengine)
- Universelle Windows-Plattform (UWP)
Um andere Arten von UWP-Apps zu schützen, führen Sie ein Upgrade auf Dotfuscator Professional durch, und befolgen Sie die Anweisungen zum Schützen Ihrer App .
Nicht unterstützte Eingaben
Dotfuscator Community unterstützt keine Pakete der Universellen Windows-Plattform (UWP) .appx mehr als Inputs. Um UWP-Apps zu schützen, führen Sie ein Upgrade auf Dotfuscator Professional durch, und befolgen Sie die Anweisungen zum Schützen Ihrer App .
Darüber hinaus können Pakete nicht mehr als Eingaben verwendet werden, .xap da Silverlight nicht mehr unterstützt wird.
Einführung expliziter Methodenüberschreibungen
Die Umbenennungsoption zur Einführung expliziter Methodenüberschreibungen wurde aus Dotfuscator entfernt. Um Dotfuscator 6 zu verwenden, aktualisieren Sie ihre Konfigurationsdatei , um diese Einstellung zu entfernen.
Vollständige Dokumentation
Ausführliche Anweisungen zur Verwendung der Dotfuscator Community-Benutzeroberfläche finden Sie im vollständigen Dotfuscator Community-Benutzerhandbuch unter preemptive.com.