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.