Announcement

Collapse
No announcement yet.

Dekompilierung von .NET Programmen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dekompilierung von .NET Programmen

    Hallo,

    ich bin auf der Suche nach einem Programm, mit dem man das Dekompilieren von .NET Programmen verhindern bzw. erschweren kann.

    Ich habe bereits ein paar Programme rausgesucht, wüsste aber gerne welche Erfahrungen ihr so gemacht habt und ob ihr ein bestimmtes Programm empfehlen könnt.

    Folgende Programme habe ich mir angeschaut:
    - Spices.net Obfuscator
    - .NET Reactor
    - Skater .NET Obfuscator Light
    - DotNet Protector

    Desweiteren habe ich mit manchen Programmen einfach keine lauffähige Version meines Programms erstellen können. Als wären wichtige Variablen oder Konstanten regelrecht "unbrauchbar2 gemacht worden. weiß jemand, woran das liegen könnte, oder ob man etwas bestimmtes beachten muss.

    Vielen Dank schon mal.

    Liebe Grüße
    Martin Ammerschuber

  • #2
    Hallo,

    als Freeware-Produkte bieten sich an:
    • Phoenix Protector
    • Eazfuscator.net


    Funktionieren meiner Erfahrung nach gut. Handhabung einfach.
    Dennoch funktionierten nicht immer beide Obfuskatoren bei allen Projekten.
    Es empfiehlt sich nach dem obfuskieren dies mit einem Reflektor zu Prüfen.

    Dein Einsatz von kommerziellen Produkten halte ich nicht für sinnvoll - sind teilweise sehr teuer. Es lohnt sich die Überlegung:
    • Ein Großteil der Kunden ist am Programm und nicht am Code interessiert.
    • Wer ist die Zielgruppe für das Programm. Sind dies "einfache" Anwender so werden sie auch nicht wissen was Code ist bzw. wie man an den Code eines Programmes kommt.
    • Amortisieren sich die Kosten für Obfuskatoren?
    • Ist der enthaltene Code so viel wert dass sich der Einsatz von Obfuskatoren lohnt? (Soll keine Unterstellung sein!)


    mfG Gü
    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

    Comment


    • #3
      Hi,

      danke erstmal für die rasche Antwort. Werde am Montag die beiden Freeware Produkte mal ausprobieren und die kostenpflichtigen Tools nochmal überdenken. Prinzipiell hast Du schon recht, dass der "Dekompilier Aufwand" zu groß ist... mein Chef möchte denoch auf der sicheren Seite sein.

      Beste Grüße
      Martin

      Comment


      • #4
        Desweiteren habe ich mit manchen Programmen einfach keine lauffähige Version meines Programms erstellen können. Als wären wichtige Variablen oder Konstanten regelrecht "unbrauchbar2 gemacht worden. weiß jemand, woran das liegen könnte, oder ob man etwas bestimmtes beachten muss.
        Das hängt stark von der verwendeten Methodik des Obfuscators ab.
        Ein Problem ist aber meißt der Einsatz von Reflection. Da ja explizit Objekte, Methoden, Properties u.s.w. über diesen Weg per konkreten Namen/Typnamen gesucht werden laufen diese ins leere wenn der Obfuscator auf Umbennen von Bezeichnern setzt und nicht überall gleich obfuscated da der Zusammenhang nicht erkennbar ist. Man muß Reflection dabei auch nicht explizit selbst benutzt haben da viele Techniken (NET Remoting, WCF etc.) Reflection unter der Haube verwenden.

        Der Trick ist also zu wiesen welche Bezeichner nicht obfuscated werden dürfen und dieses davon auszuschließen. Die meißten Obfuscater bringen Assemblies mit die Attribute zum entsprechenden markieren enthalten.

        Mir ist kein pflegeleichter Obfuscator bekannt wo man bei einer nichttrivialen Anwendung ohne entsprechende Handarbeit auskommt. NET.Reactor scheint dem noch am nächsten zu kommen. Persönlich habe ich aber jegliche obfuscating Versuche eingestellt. Das erreichbare Ziel rechtfertigt den Aufwand nicht.


        mein Chef möchte denoch auf der sicheren Seite sein.
        Und was ist mit dem Anwender Wie soll der Wissen das eure Anwendung nicht schlimmes macht wenn er sich die nicht ansehen kann.

        Comment

        Working...
        X