AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Cheecksumme der eigenen Exe?

Offene Frage von "Florian H"
Ein Thema von Florian H · begonnen am 18. Nov 2003 · letzter Beitrag vom 18. Nov 2003
Antwort Antwort
Florian H

Registriert seit: 30. Mär 2003
Ort: Mühlacker
1.043 Beiträge
 
Delphi 6 Professional
 
#1

Cheecksumme der eigenen Exe?

  Alt 18. Nov 2003, 16:55
Hi,

gibt es eine Möglichkeit, das ein Programm von sich selbst zur Laufzeit eine Checksumme erzeugt?

Ich will einfach überprüfen, ob mein Programm nicht irgendwie verändert wurde (Manipulation und so )!
ODer gibts da eine andere Möglichkeit?


grüße
flo
Florian Heft
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#2

Re: Cheecksumme der eigenen Exe?

  Alt 18. Nov 2003, 17:08
Henne -> Ei:

Du hast ein Programm und erzeugst eine Checksumme.

Speicherst Du die Checksumme in Deiner exe ändert sich wiederum die Checksumme. -> nicht praktikabel.

Speicherst Du die Checksumme in einer externen Datei, kann Deine .exe verändert werden, eine Checksumme über die veränderte Anwendung berechnet werden und der Wert in der Datei ersetzt werden. -> Hilft Dich nix.

Du bist an der Stelle alleine recht aufgeschmissen. Es gibt da zwar Methoden, aber die sind extrem aufwändig zu implementieren (krypotologisch aber hochinteressant )oder schweineteuer.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Cheecksumme der eigenen Exe?

  Alt 18. Nov 2003, 17:23
Hi Phoenix,
warum sollte die zweite Möglichkeit nicht helfen? Wenn er die Checksumm verschlüsselt abspeichert, so wird man diese doch nicht einfach mal eben so überschreiben! Oder vertue ich mich mal wieder heftigst?!

Chris
  Mit Zitat antworten Zitat
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz