Demoversion: Wie mache ich sie sicher?



  • Hanny schrieb:

    Da würd eich dann eine entsprechende Datei verschlüsselt
    ablegen und den Wert hochzählen!

    Auch wenn du den Dateiinhalt verschlüsselt, was hält jemanden davon ab, anfangs von dieser Datei eine "Sicherheitskopie" zu machen und diese später wiederherzustellen, wenn es nahe an die 200 geht?

    edit: Hmja, eine halbe Minute zu spät 😉



  • Nanyuki schrieb:

    edit: Hmja, eine halbe Minute zu spät 😉

    Kaffee? Aber ich stimm dir zu!



  • Die Datei würde nicht im Installverzeichnis liegen und aus meiner Exe erzeugt werden.
    Der Durchschnittsanwender hat keine Chance die Datei zu finden, wenn ich sie
    irgendwo verstecke. Nur ist jetzt noch die Frage auf welche Verzeichnisse man
    immer Schreibzugriff hat (sowhl unter XP, Vista als auch Server2003/08





  • WM_COPYDATA kopiert beliebige Daten.



  • ich muss sagen, dass mir bei nicht vorhanden sein von interent auch nix einfällt und wenn mir nix einfällt, dann geht es auch nicht.



  • IMHO kann eine nicht geschützte(also ohne AsProtect und co) Exe von jedem Anfänger mit Tutorial von hinten bis vorne durchleuchtet werden (weiß ich aus versuchen mit eigenen programmen ). Und gegen Profis hilft so gut wie gar nichts sonst gäbe es ja auch im Internet nicht die ganzen crackseiten etc. Die einzige Chance die dir bleibt ist es es dem Angreifer so schwer wie möglich zu machen die relevanten Änderungen vorzunehmen. Dazu kannst du z.B. auf einen Exe-Protector zurückgreifen (gut=teuer selbstgemacht=schwierig=billig billigiminternet(falls es das gibt)=schlecht).
    Ich schlag dir einfach mal was vor mit denen du solchen leuten wenigstens nicht die Straße ebnest.

    1. Lagere keine Funktionen mit den namen wie "CheckLicense" oder "hasDemoEnded"in irgendwelche Dlls aus.
    2. Prüfe mehrmals im Programm die Gültigkeit der Lizenz bzw. des Datums
    3. Lege diese Informationen nicht in einer Variablen ab sondern in mehreren am besten mit dinamisch erstellten Speicheraddressen.

    Die einzig wirklich wirksame methode gegen unerlaubtes freischalten ist und bleibt die Funktionen gar nicht zur verfügung zu stellen aber das kommt bei dir ja leider nciht in Frage

    Soweit von mir 🙂
    Fencer



  • Noch als kleine Erweiterung zu den vorherigen vorschlägen:

    Eventuell Hardwarelösung über Dongle in USB/Parallelport Form, das kommt natürlich drauf an was das für Software ist wenn die Software weniger Wert ist als der Dongle dann bringt die Sache nichts ^^

    Dann gibts als weiteres noch die Möglichkeit gewisse Speicherbereiche manuell zu überwachen indem immer mal wieder eine Checksume des Speicherbereichs gebildet wird und überprüft wird ob dies wirklich so vorgesehen war von der Programmlogik. Dazu zählt zB überprüfen ob nicht zum Beispiel if(..) zB jeq anweisungen zu if(!..) jenq umgebaut wurden.

    Als weiteres kannst du noch überprüfen ob gewisse Debugger laufen oder das Programm von einem Dissasemblierer ausgeführt wird.

    Aber theoretisch kann alles umgangen werden die Frage ist ob ein Kunde wirklich die Kompetenz dazu besitzt.



  • appdata schrieb:

    http://msdn.microsoft.com/en-us/library/bb762494(VS.85).aspx

    Dann kommt also z.B. das in Frage:

    CSIDL_COMMON_APPDATA (FOLDERID_ProgramData)
    Version 5.0. The file system directory that contains application data for all users. A typical path is C:\Documents and Settings\All Users\Application Data. This folder is used for application data that is not user specific. For example, an application can store a spell-check dictionary, a database of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. This information will not roam and is available to anyone using the computer.

    Aber sagt mal, kann man davon ausgehen, dass der Pfad auch immer beschreibbar
    ist, oder wird eurer Meinung nach sowas auch gelegentlich in Firmen blockiert?

    Ich würde das natürlich abfangen, aber nur mal so gefragt 🙄



  • telefon registrierung^^



  • Badestrand schrieb:

    Dann lagert man eben ein wenig Funktionalität, irgendwas triviales ohne dass es aber nicht geht, auf den Server aus.

    Das wäre im Grunde die einzige Möglichkeit. Aber wenn es zu trivial ist, dann wird man es wieder ersetzen können und es erfordert eine entsprechend ausgerüstete Infrastruktur.



  • Ideee schrieb:

    Man könnte auch was mit RSA basteln

    Und der Private Key liegt als Klartext im Sourcecode? Oder wird der dann wieder in irgendeiner Datei "versteckt"? 🤡



  • Solange die Information auf der eigenen Platte landet, ist sie immer leicht zu finden. Dafür muss man die Applikation teilweise nichtmal diassemblieren. Registry/File Monitor Software ist im Netz kostenlos zu kriegen und die reichen aus um zu sehen, was die Anwendung so macht. Etwas mehr Sicherheit bietet wohl nur die "Rücksprache" der Software mit einem Internet-Server oder sowas in der Art, wo der User nicht rankommt. Wasserdicht wirds dadurch allerdings auch nicht.



  • mach 2 demoversionen die jeweils die hälfte der funktionalität enthalten



  • byto schrieb:

    Ideee schrieb:

    Man könnte auch was mit RSA basteln

    Und der Private Key liegt als Klartext im Sourcecode? Oder wird der dann wieder in irgendeiner Datei "versteckt"? 🤡

    Der private Schlüssel verbleibt immer beim Programmierer. Zum Entschlüsseln wird der öffentliche Schlüssel verwendet, der im Programm enthalten ist.

    Ansonsten sollte man sich nicht der Hoffnung hingeben, die Testversion sicher machen zu können. Wenn man sich mal anschaut, wieviel Aufwand z.B. Adobe in die Sicherung seiner Produkte steckt und wie schnell es dafür "Abhilfe" gibt, dann sollte man die Zeit für die Programmierung eines umfangreichen Schutzes lieber gleich in die Verbesserung des Programms stecken. Denn das bringt wirklich zahlende Kundschaft. Den Wettlauf mit den Crackern kannst Du sowieso nicht gewinnen.



  • genau!
    Wer wirklich mit einer Software arbeiten will, zahlt auch dafür anstatt cracks zu benutzen. Die anderen gehören oft der Fraktion "Brauch-ich-zwar-nicht-aber-wenns-gratis-ist-nehme-ich-es-halt-doch"
    an
    🤡 🤡 :schland:



  • sri schrieb:

    byto schrieb:

    Ideee schrieb:

    Man könnte auch was mit RSA basteln

    Und der Private Key liegt als Klartext im Sourcecode? Oder wird der dann wieder in irgendeiner Datei "versteckt"? 🤡

    Der private Schlüssel verbleibt immer beim Programmierer. Zum Entschlüsseln wird der öffentliche Schlüssel verwendet, der im Programm enthalten ist.

    Und was hält einen Cracker davon ab, den Publickey zu extrahieren und die Daten für immer zu entschlüsseln?

    Das einzige was man wirklich ohne großen Aufwand machen könnte, wäre die Demoversion abzuspecken.


  • Administrator

    rüdiger schrieb:

    Das einzige was man wirklich ohne großen Aufwand machen könnte, wäre die Demoversion abzuspecken.

    Würde nicht auch das Gegenteil gehen? Vor allem, wenn man alles präsentieren möchte.

    Unter dem Gegenteil verstehe ich Dinge wie:

    • Beim Aufstarten muss man 30-60 oder mehr Sekunden warten, weil es halt eine Demoversion ist.
    • Alle 30 Minuten wird das Programm zwangsterminiert.
    • Nach Ausführen von X Aktionen, bekommt man wieder einen Werbebildschirm, dass man das Programm kaufen soll, wo man es kaufen kann und das man nun zuerst mal wieder 60 Sekunden warten soll.
    • usw.

    Oder anders gesagt:
    Alles anbieten, aber die Arbeit mit dem Programm unmöglich machen 😃

    Grüssli



  • das ist glaube ich nicht ganz dass was sein Chef will.(oder sehe ich das falsch?)

    btw: "crippleware" erhöht nicht gerade die Freude am kaufen



  • rüdiger schrieb:

    Und was hält einen Cracker davon ab, den Publickey zu extrahieren und die Daten für immer zu entschlüsseln?

    Dazu muss er die verschlüsselten Daten (z.B. einen Freischaltcode) erst mal besitzen. Mit dem öffentlichen Schlüssel kann man zwar Daten entschlüsseln, aber nicht verschlüsseln. Einen Keygenerator kann man nur schreiben, wenn man den privaten Schlüssel besitzt. Bei einer vernünftigen Stärke dauert es aber eine ziemlich lange Zeit, bis man den berechnet hat.

    rüdiger schrieb:

    Das einzige was man wirklich ohne großen Aufwand machen könnte, wäre die Demoversion abzuspecken.

    Dann schwirrt halt anstatt des Freischaltcodes die Vollversion durchs Netz. Cracker sind auch nicht gerade unkreativ.

    Man sollte aber auch vor allem darauf achten, dass man den kaufwilligen Anwender nicht unnötig gängelt und stresst. Aktivierungen per Internet nerven nur, vor allem dann, wenn man auf seinem Rechner mehrere Betriebssysteme parallel installiert hat. Also ruhig mal überlegen, wie man sich selbst als Anwender fühlt.


Anmelden zum Antworten