Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#5

Re: Prüfsumme des eigenen Programs im Speicher ermitteln

  Alt 16. Aug 2005, 12:44
Zitat:
es geht darum zur Laufzeit zu überprüfen, ob mein Programm gepatched oder verändert worden ist.
Wenn das OS deine EXE von Platte in den Speicher lädt, dann patcht in fakt das OS dein Image im Speicher. Das OS zerlegt erstmal alle Sektions der EXE und lädt sie in andere, zerlegte Speicherbereiche. Danach patcht es in den Codesegmenten, sogar Resourcen im Speicher zb. die Relokationen. Da diese Relokationen abhängig davon sind WO im Speicher die einzelnen Sections geladen werden, wird je nach aktueller Speicherbelegung anders realokiert.

All dieses verhindert einen einfachen Algorithmus zur Ermittlung einer Prüfsumme zu programmieren. Zudem ist es dann sogar abhängig von der jeweiligen OS Version.

Unveränderlich kann man aber das Image der EXE auf Platte ansehen. Weshalb auch MS die Digitalen Signaturen zum Scutz dieser Images einfach hinten an die EXE dranhängt. Das was du suchst gibt es also schon, Stichwort Codesignaturen.


Gruß Hagen
  Mit Zitat antworten Zitat