Frage zu Security Konzept Idee...
Verfasst: 09.03.2007 08:57
Hallo,
Ich mache mir seit einiger Zeit Gedanken, wie ich Software gegen Serial-Cracker schützen kann. Im Moment dauert es maximal ein paar Wochen bis eine Software geknackt ist. Darum habe ich mir was überlegt - weiss aber nicht ob ich auf dem Holzweg bin. Also, mal kurz lesen und schreiben was Ihr davon haltet (ich glaube das nennt man Virtualisierung):
1.
Ich gedenke, einen eigenen Interpreter zu bauen (oder einen bestehenden zu verwenden). Dieser soll Scripte mit einfachen Basic-Befehlen direkt ausführen können (nur das nötigste).
2.
Diese Scripte sollen aber vor der Ausführung in Bytecode umgewandelt werden (also ein For = 00, To = 01, Next = 02, If = 03, EndIf = 04, etc...).
3.
Ein solches Script soll die Prüfung einer Serial-No übernehmen können.
4.
Dann soll zum einen der Interpreter und zum anderen der Bytecode des Scriptes in die zu schützende Anwendung eincompiliert werden (Interpreter als PB-Include und der Bytecode zB als HEX-String).
5.
In der Anwendung soll beim Programmstart der Interpreter mit dem Script aufgerufen werden. Dieses Script prüft dann die übergebene Serial-No und setzt dann Ergebnisse in verschiedene Rückgabewerte in übergebene Speicherbereiche.
Problem:
Irgendwo muss ich ein True/False an die Anwendung zurückgeben, oder? Dieses muss ich dann prüfen (If, Select, etc.). Und dort wird man mich wieder packen.
Was, wenn das Script einige Faktoren zurückgibt die im Laufe des Programmes verwendet werden? Also fixe Zahlenwerte für einen Algorithmus der für das Programm notwendig ist? Dann muss der Hacker mindestens eine funktionierende Lizenz haben um überhaupt die richtigen Werte herauszufinden, oder?
Wie denkt Ihr darüber?
Volker
Ich mache mir seit einiger Zeit Gedanken, wie ich Software gegen Serial-Cracker schützen kann. Im Moment dauert es maximal ein paar Wochen bis eine Software geknackt ist. Darum habe ich mir was überlegt - weiss aber nicht ob ich auf dem Holzweg bin. Also, mal kurz lesen und schreiben was Ihr davon haltet (ich glaube das nennt man Virtualisierung):
1.
Ich gedenke, einen eigenen Interpreter zu bauen (oder einen bestehenden zu verwenden). Dieser soll Scripte mit einfachen Basic-Befehlen direkt ausführen können (nur das nötigste).
2.
Diese Scripte sollen aber vor der Ausführung in Bytecode umgewandelt werden (also ein For = 00, To = 01, Next = 02, If = 03, EndIf = 04, etc...).
3.
Ein solches Script soll die Prüfung einer Serial-No übernehmen können.
4.
Dann soll zum einen der Interpreter und zum anderen der Bytecode des Scriptes in die zu schützende Anwendung eincompiliert werden (Interpreter als PB-Include und der Bytecode zB als HEX-String).
5.
In der Anwendung soll beim Programmstart der Interpreter mit dem Script aufgerufen werden. Dieses Script prüft dann die übergebene Serial-No und setzt dann Ergebnisse in verschiedene Rückgabewerte in übergebene Speicherbereiche.
Problem:
Irgendwo muss ich ein True/False an die Anwendung zurückgeben, oder? Dieses muss ich dann prüfen (If, Select, etc.). Und dort wird man mich wieder packen.
Was, wenn das Script einige Faktoren zurückgibt die im Laufe des Programmes verwendet werden? Also fixe Zahlenwerte für einen Algorithmus der für das Programm notwendig ist? Dann muss der Hacker mindestens eine funktionierende Lizenz haben um überhaupt die richtigen Werte herauszufinden, oder?
Wie denkt Ihr darüber?
Volker