Eigenes Programm verschlüsseln/Kopierschutz?
Wie kann ich ein Programm, dass ich bei Visual studio programmiert habe und verbreiten möchte für andere Nutzer unlesbar machen, damit sie meinen code nicht kopieren können. Ist das für eine Privatperson überhaupt machbar ohne unmengen an Geld auszugeben?
5 Antworten
Letztendlich muss der ausführende PC die grundlegenden Instruktion der Software kennen, um sie auszuführen. Anhand davon kann man immer mit reverse engineering arbeiten.
Bei C# kann man mit .NET Native ein natives Programm erzeugen, was das reverse engineering deutlich erschwert. Alternativ kann man einen Obfuscator verwenden, dann kommt man immer noch durch einen Decompiler an funktionsgleichen C# Code, doch dieser ist nur noch sehr schwer lesbar.
Du solltest dich auch fragen was der Sinn dahinter überhaupt ist. Ich verbreite meine Software immer mit dem Quellcode.
Dafür gibt es sicherlich verschiedene Programm. Schau dir mal das an:
Das ist nicht gerade sinnvoll, wenn das Programm ausgeführt werden soll.
Verwende einen Obfucator:
Hier eine List mit Kandidaten: https://github.com/NotPrab/.NET-Obfuscator
Sei dir bitte im Klaren darüber, dass beim Einsatz von Obfuscatoren und viel stärker noch Laufzeitpackern, deine Software von diversen Antivirenprogrammen als Malware erkannt werden wird.
Und einen Profi hält so etwas auch nicht auf, sondern nur Script-Kiddies.
Davn abgesehen: Niemand klaut fremden Code, da Nachprogrammieren immer wirtschaftlicher sein wird.
Ich habe mir für derartige Zwecke ein eigenes Programm geschrieben, das nur ausgelagert existiert, ohne Kennwort auskommt (weil das Programm selbst quasi das Kennwort ist, welches sich abhängig von diversen Ereignissen ständig ändert), und solange absolut sicher ist, wie es sicher aufbewahrt ist. Irgendwo heruntergeladenen Verschlüsselungsprogrammen, egal, ob kostenlos oder teuer, traue ich nicht im mindesten.