Wie kann ich meinen Source Code schützen?

3 Antworten

Mit einem Obfuscator.

Allerdings würde ich das nicht empfehlen, da er den Code verändert (das ist ja der Sinn der Sache) und damit das Programm ineffizienter (oder gar fehleranfälliger) machen kann. Zudem kann Reverse-Engineering damit nicht verhindert, sondern allenfalls erschwert werden.

Die meisten Programme/Algorithmen sind nicht annähernd so "schützenswert", wie Du vielleicht denken magst. Reverse-Engineering ist auch ein Haufen Arbeit - oftmals hat man in der Zeit einen Algorithmus auch "cleanroom-implementiert" (also ohne Einsicht des "fremden" Codes nachgebildet).

"Geheimnisse" (z. B. kryptographische Schlüssel, Passwörter, etc.) sollten ohnehin niemals im Programmcode stecken.

Überlege Dir lieber, im Sinne der Open-Source-Bewegung den Programmcode direkt offenzulegen. Davon haben meistens alle Beteiligten mehr - Dir selbst eingeschlossen. Die Reputation, die man durch solche Projekte bekommen kann - sofern sie denn gut umgesetzt sind - ist nicht zu unterschätzen.

Verhindern kannst du es nicht, aber es ist auch nicht ganz so leicht, wie es sich anhört. Natürlich kann man den compilierten Code wieder zurückübersetzen. Allerdings ist das Resultat sehr schwer lesbar und muss lange analysiert werden.

Wenn du vor einiger Zeit mit C# angefangen hast, musst du dir keine allzu großen Sorgen machen, dass jemand deine Programme decompiliert und deine Ideen stiehlt.