Zitat von
sh17:
Mal ne Frage zur Investitionssicherheit: Wie sicher sind eigentlich Lösungen wie Dotfuscator, die .NET-Code verschleiern. Ich hab mal Beispielhaft einige Assemblys decompiliert. Sieht auf den ersten Blick ziemlich durcheinander aus. Kann mit entsprechenden Aufwand nicht aber doch lesbarer Code erzeugt werden?
Die Obfuskatoren sind so sicher, wie du sie arbeiten lässt. Manche Aktionen bringen sogar die Runtime durcheinander - sind aber trotzdem gültig. In der Regel aber bereiten sie keine Probleme und produzieren genau so lesbare Disassemblies wie Delphi auch - gut, man weiss, was eine Methode ist und was nicht, aber das kann mit guten Disassemblern auch von Delphi-Apps aus wieder herstellen. Generell kann man von *allem* ausgehend lesbaren Code erzeugen.
Zitat von
sh17:
Erschreckend finde ich, wie viele kommerzielle Produkte diesen Schutz nicht einsetzen. Ich kenne einige Programme/Bibliotheken, wo ich den kompletten Quellcode wiederherstellen kann, der ordentlich neu übersetzt werden kann und auch funktioniert.
Ja, das mache ich auch nicht - warum auch? Wenn jemand deinen Code haben will, bekommt er ihn. Unter .NET geht das mit einem einfachen Disassembler, der
IL-Code auswirft. Mit nativen Apps geht das mit komplexen Disassemblern (es gibt welche, die C-Code produzieren können), die Regeln sind die selben - nur macht .NET die Geschichte durch das Prinzip der Typsicherheit einfacher.