Einzelnen Beitrag anzeigen

Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Cheecksumme der eigenen Exe?

  Alt 18. Nov 2003, 17:52
Es kommt jetzt einfach auf den Aufwand drauf an, den man betreiben möchte...

Ich persönlich würde es wahrscheinlich so angehen, das ich die Checksumme einmalig mit einem extern Programm ermitteln würde und dann verschlüsselt in einem 128 Byte Block (oder länger) ans Ende der Exe puzzeln würde.

Die Exe müsste nun beim Start die letzten 128 Byte lesen, entschlüsseln, die Checksumme über die Exe OHNE die letzten 128 Byte erstellen und dann mit der gespeicherten Summe vergleichen.

Das wäre aufjedenfall "eleganter" als die Variante mit der externen Datei, in der die Checksumme steht. Und schwierig zu basteln ist es auch nicht.

Leider hält es aber auch nur n00b-Cracker von der Anwendung fern (sofern man sich nicht unheimlich viel Mühe gibt, ein

Code:
CMP Checksum, StoredChecksum // Achtung, Pseudocode, nicht das jemand meckert :)
JE ...
zu vermeiden, bzw. so geschickt zu implementieren, das es nicht so einfach wegpatchbar ist.
Was nützt es, eine Checksumme noch so gut zu verschlüsseln und zu verstecken, wenn hinterher nur ein einziges IF beiseite geräumt werden muss... (Genau das ist ja oft der Knackpunkt bei Shareware mit Freischaltcodes, aber das ist ein anderes Thema).
Die Routine würde zwar eine falsche Checksumme ermitteln, aber die Abfrage, ob die Summe stimmt würde einfach übergangen.

Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat