Decompilieren



  • Hallo Leute,

    ich erstelle c#-Programme. Leider lassen sich diese ja Decompilieren.
    Nun gibt es ja bei VS 2005 den Dotfuscator in der Community-Version.
    Dieser ist aber derart abgespeckt das man den Code trotzdem noch sehen kann.
    Die Pro ist sehr teuer.
    Kennt ihr eine Möglichkeit oder Free-Software um es den Decompilern erheblich zu erschweren ihre Arbeit zu machen?

    Finde es von MS unelegenat das diese nicht mitliefern außer eine sehr abgespeckte Version.
    Danke



  • Obfuscatoren erschweren auch nur das decompilieren, verhindern kann man es nicht. Der Grund liegt in einem zentralen Sprachfeature von C#: Reflection.

    Mit Reflection kannst Du zur Laufzeit auf Methoden, Klassen, Parameter usw zugreifen, und zwar über den Namen. Diese Informationen _müssen_ daher jederzeit zur Verfügung stehen, andernfalls könnte Reflection nicht funktionieren.

    Auch wenn Du Reflection selber vielleicht nicht direkt benutzt, wird es an vielen Stellen benötigt (z.b: Serialisierung)

    Im Grunde muß man sich halt damit abfinden, daß man im Falle von managed Code auch immer den Sourcecode mit ausliefert. Obfuscators

    Ansonsten, guckst Du hier http://msdn2.microsoft.com/de-de/vcsharp/Aa336818.aspx#obfuscators



  • Dekompilieren lässt sich faktisch nur verhindern, indem man kein Programm ausliefert sondern die relevante Funktionalität nur als WebService zur Verfügung stellt.


Anmelden zum Antworten