Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#46

Re: Anwendungsspeicher schützen

  Alt 30. Sep 2008, 17:11
Es geht ja darum, wie du schon sagst, den Inhalt einer Variable zu ändern und nicht die Ausgabe des Inhaltes. Doch der Zugriff auf die Variable bzw. das Ändern der Variable ist bei mir garnicht Hard-Coded im Programm drinnen. Nichtmal die Variable ist hard-coded.

Im Anhang hab ich mal das Projekt incl. Source hochgeladen. Ich hab mal wieder meine eigene ScriptEngine missbraucht .
Um das Projekt zu erstellen, muss man folgende Schritte durchführen.
  • Das Archiv in einen Ordner entpacken
  • ScriptEngine.exe starten und darin die Quelltextdatei "Program1.scs" im Unterordner "Projects" öffnen
  • Dann wählt man unter File den Punkt Save compiled bytecode
  • Im Save-Dialog speichert man die Datei im Ordner Data unter dem Dateinamen Test.dat
  • Nun öffnet man das Projekt SecureData.dpr in Delphi
  • Bei dem {-$DEFINE INTERN} löscht man das Minus
  • Kompilieren aus Ausführen
  • Dann drückt man den Button "Compress" und wählt die Datei "Test.dat" im Ordner "Data" aus
  • Das Programm wieder schließen und den Unterordner "Data" öffnen
  • Dort dann die Datei "make.bat" ausführen
  • Projekt neu kompilieren und nochmal starten
  • In der Überschrift der Form sollte jetzt eine Zahl stehen: diese sollte man sich merken
  • Programm schließen und Quelltext die Zeile p := FRunTime.FindFunction(xx); suchen, wobei xx eine Zahl ist
  • die beiden xx durch die gerade gemerkte Zahl ersetzen, die Zeile {$DEFINE INTERN} wieder auskommentieren und erstellen
  • FERTIG war noch nicht schwer

Ich hab die Methode mit meiner Script-Engine gewählt, da ich mir dachte: wenn jetzt jemand den ASM-Code modifziert, damit er die Berechnung aushebelt, funktioniert die komplette ScriptEngine nicht mehr. Wenn jetzt das Programm auch noch auf die ScriptEngine aufbaut bzw. sie intensiv nutzt, wird dann das Programm unnutzbar.
Angehängte Dateien
Dateityp: zip securedata_213.zip (994,2 KB, 19x aufgerufen)
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat