Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfsumme des eigenen Programs im Speicher ermitteln (https://www.delphipraxis.net/51634-pruefsumme-des-eigenen-programs-im-speicher-ermitteln.html)

NicoDE 27. Sep 2005 15:39

Re: Prüfsumme des eigenen Programs im Speicher ermitteln
 
Zitat:

Zitat von PierreB
Hm, ich such wirklich nach ner ganz einfachen Variante, keiner ne Idee ? :cry:

- statische Patterns ins Code-Segment einkompilieren (z.B. mit 'asm db')
- im Programm die Prüfsummen über diverse Blöcke berechnen (crc, w.a.i.)
- mit externem Programm nach Patterns suchen und im Image durch valide Daten erseten

PierreB 27. Sep 2005 15:43

Re: Prüfsumme des eigenen Programs im Speicher ermitteln
 
Moin Olli :hi:

Zitat:

darf ich aber nicht rausgeben.
Hm, dass hört sich (jedenfalls für mich) nicht gut an. :mrgreen:

Sowas muss doch irgendwie möglich sein, ich will doch nur meine Anwendung vor Manipulationen schützen... :wall:

@Nico: Hm, vielleicht is das für dich einfach, ich hab davon aber (leider) keine große Ahnung. :(
Hast du da nicht vielleicht mal ein Beispiel für mich ? :stupid:

Olli 27. Sep 2005 15:56

Re: Prüfsumme des eigenen Programs im Speicher ermitteln
 
Zitat:

Zitat von PierreB
Sowas muss doch irgendwie möglich sein, ich will doch nur meine Anwendung vor Manipulationen schützen... :wall:

Ich würde behaupten, daß es quasi-unmöglich ist. Zumindest mit heutigen Mechanismen. Hagen kann dir sicher einiges zum Thema Sicherheit, TCPA usw. erzählen :zwinker:. Das was ich programmier dient im Endeffekt auch einem anderen Zweck ;)

Zitat:

Zitat von PierreB
Hast du da nicht vielleicht mal ein Beispiel für mich ? :stupid:

Delphi-Quellcode:
label Start, End;
begin
  goto StartCode;
  asm
    db $DE, $AD, $BE, $EF
  end;
StartCode:
  Bla();
  Writeln();
  goto EndCode;
  asm
    db $DE, $AD, $BE, $EF
  end;
EndCode:
end;
... nicht getestet. Wahrscheinlich dank little und big endian auch falsch, aber wenn du dann nach $DEADBEEF suchst, hast du einen Anfangs und Endmarker. Aber auch hier gibt es immer Gegenmaßnahmen.

Wie sagt Hoglund so schön in "Rootkits": Der "Angreifer" muß nur über einen Fall nachdenken, der "Verteidiger" über unendlich viele!

PierreB 27. Sep 2005 17:02

Re: Prüfsumme des eigenen Programs im Speicher ermitteln
 
Zitat:

Ich würde behaupten, daß es quasi-unmöglich ist.
Ja, dass hab ich mir schon fast gedacht. ;)

Aber danke für den Beispiel, ich werd mir das mal zu Gemüte führen. :coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr.
Seite 2 von 2     12   

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