FreeObfuscator.NET protection

.NET · C# · DLL · EXE

.NET-Obfuskation mit einem wiederholbaren Test überprüfen

Verhalten und Metadaten anhand eines kleinen C#-Programms vergleichen, statt nur auf Dateigröße oder Hash zu vertrauen.

Obfuscator öffnen

Upload, Konto und Zahlung verwenden die englische Oberfläche.

Ein Referenzergebnis aufzeichnen

Kompiliere den folgenden C#-Code in einem Release-Konsolenprojekt. Die Ausgabe muss proof=42 lauten. Kopiere das gesamte Ausgabeverzeichnis vor dem Austausch. Dieses kleine Beispiel ist ein reproduzierbarer Einstieg und kein Nachweis für alle Pfade einer Produktionsanwendung.

Original und Ergebnis vergleichen

Lade die verwaltete DLL hoch und lege das Ergebnis unter dem ursprünglichen Namen in den kopierten Ordner. Starte es mit dotnet: Die Ausgabe soll weiterhin proof=42 sein. Vergleiche mit ILSpy die internen Namen Proof und Compute. Bibliotheken behalten öffentliche API-Verträge; lesbare öffentliche Namen bedeuten allein keinen Fehler. Ein anderer Hash beweist lediglich andere Bytes.

Jede aktive Schutzschicht prüfen

Bei aktivierter Zeichenfolgenverschlüsselung repräsentative Strings untersuchen und ausführen. Konstanten und Metadaten sind nicht dasselbe wie ausführbare String-Ladebefehle. Bei Kontrollflussverschleierung alle relevanten Zweige testen. Optionen, Hashes und Ergebnisse aufbewahren. Danach Fehlerpfade, asynchrone Methoden und Abhängigkeiten der echten Anwendung prüfen. Kein solcher Test macht Reverse Engineering unmöglich.

internal static class Proof
{
    internal static int Compute(int x) => x * 6;
}
public static class Program
{
    public static void Main() => System.Console.WriteLine($"proof={Proof.Compute(7)}");
}

dotnet new console -n ProtectionProof -f net8.0 → dotnet build ProtectionProof -c Release → dotnet ProtectionProof/bin/Release/net8.0/ProtectionProof.dll

proof=42 → proof=42

2026-11-06 · FreeObfuscator · .NET 8

Quellcode und aufgezeichnete Testergebnisse herunterladen

Anleitungen zum Codeschutz