| Autor |
Beitrag |
galagher
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Do 13.05.04 17:29
Hallo!
Ich habe mir überlegt, ein Programm zu schreiben, das Dateien, die ausführbaren Code enthalten, prüft, und zwar auf die Grösse, Attribute, Datum und Zeit. Diese Werte sollen in einer Datei gespeichert werden. Bei jeder neuen Überprüfung dienen sie als Vergleich - ändert sich ein Wert, ist das doch ein Hinweis zB. auf einen Virus, oder?
Es soll kein Virenchecker werden, eher sowas wie das gute alte vsave.com von DOS. Hat sowas überhaupt Sinn? Bevor ich anfange, möchte ich eure Meinung dazu hören! Danke!!!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Ja-Pa
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Do 13.05.04 18:03
Ein nettes Programm, wieso nicht.
Allerdings musst du dir im Klaren sein, dass alle abgespeicherten Daten (also auch deine Datenbank mit den EXE-Infos) manipulierbar sind. Außerdem werden Programme auch manchmal upgedatet (sollten sie zumindest) und ersetzten so die alten Dateien.
Das heißt, ein Hinweis, dass eine Datei geändert wurde heißt nicht unbedingt, dass ein Virus sich eingeschlichen hat; kein Hinweis heißt nicht, dass das System noch in Ordnung ist (schließlich gibt es auch viele Würmer, die nur neue Dateien erstellen und alte nicht verändern).
Aber du willst ja auch keinen Virenscanner programmieren.
Daher ist meine Meinung: Machbar (also porgrammierbar) dürfte das Programm sein, ob es sinnvoll ist hängt vom Anwendungszweck ab.
Grüße,
Ja-Pa
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Do 13.05.04 18:46
| Ja-Pa hat folgendes geschrieben: | | Machbar (also porgrammierbar) dürfte das Programm sein, ob es sinnvoll ist hängt vom Anwendungszweck ab. |
Ja, machen kann ich es schon, aber es stimmt, es können auch exe- und dll's upgedatet werden, nicht nur Datenfiles...
Ich denke mir das so: Wenn das Programm so etwas feststellt, erfolgt eine Meldung "... wurde geändert: ..." und dazu, was geändert wurde (Attribut, Zeit usw.). Ob ich die Werte einfach als Textdatei oder codiert speichere, weiss ich noch nicht. Muss erst mal testen, ob, wie oft und welche Dateien sich ohne mein Wissen ändern! Hat jemand zufällig Dateinamenerweiterungen von Dateitypen, die ausführbaren Code enthalten? Mir sind rund 30 aufgefallen: Beginnen alle (ausser .com) mit MZ 
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Ja-Pa
      
Beiträge: 458
Win XP, Suse 9.3
D1, D3, D5 Std, D7 Pro, D2005 Pers, Kylix 3
|
Verfasst: Do 13.05.04 19:11
Stimmt, das ist mir auch schon aufgefallen:
Alle Win32-Executables beginnen mit MZ.
Du kannst ja mal bei den Einstellungen vom Virenscanner nachgucken, was der so alles blockiert.
_________________ Der Autor dieses Textes haftet nicht für Schäden an Soft- oder Hardware
oder Vermögensschäden, die durch das Benutzen des Textes entstehen.
|
|
matze
      
Beiträge: 4613
Erhaltene Danke: 24
XP home, prof
Delphi 2009 Prof,
|
Verfasst: Fr 14.05.04 13:41
du könntest auch einfach eien MD5 Hash der Datei erstellen, wenn sich der ändert, wurde die Datei verändert.
_________________ In the beginning was the word.
And the word was content-type: text/plain.
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Fr 14.05.04 15:04
| matze hat folgendes geschrieben: | | du könntest auch einfach eien MD5 Hash der Datei erstellen, wenn sich der ändert, wurde die Datei verändert. |
Was ist ein MD5 Hash? Noch nie gehört. Aus der Hilfe werde ich auch nicht wirklich schlau!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
Udontknow
      
Beiträge: 2596
Win7
D2006 WIN32, .NET (C#)
|
Verfasst: Fr 14.05.04 15:49
Ein Hash ist eine Art Prüfsumme, die du von beliebigen Daten ermitteln lassen kannst. Das besondere an einem Hash ist, daß er keine Rückschlüsse auf die Art der Daten an sich zulässt, sodaß z.B. Passwörter gar nicht gespeichert werden, sondern nur deren Hash. Meldet sich jemand mit einem bestimmten Passwort an, wird der Hash der Eingabe ermittelt und mit dem gespeicherten Hash verglichen. So können noch nicht einmal Administratoren der DB, der Website oder was auch immer, herausfinden, wie das Passwort denn nun lautet.
Für Delphi gibt es das Delphi-Encryption-Compendium, das neben dutzenden von Verschlüsselungstechniken auch Komponenten für Hash-Generierung beinhaltet. MD5 ist eine bestimmte Art Hash, der Code dafür ist ebenfalls im DEC vorhanden.
Cu,
Udontknow
|
|
galagher 
      
Beiträge: 2562
Erhaltene Danke: 46
Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
|
Verfasst: Fr 14.05.04 17:13
| Udontknow hat folgendes geschrieben: | | MD5 ist eine bestimmte Art Hash, der Code dafür ist ebenfalls im DEC vorhanden.Udontknow |
Sowas in der Art würde ich suchen, aber es hätte nur Sinn, wenn man damit ermitteln könnte, ob eine Datei seit ihrer erstmaligen Installation oder Kopie auf einen Datenträger geändert wurde, OHNE Vergleich mit Vergleichsdaten, da das für Hunderte Dateien auf dem gesamten Laufwerk sehr zeitaufwändig ist. Ansonsten reicht eine einfache Textdatei mit den Vergleichswerten auch.
Danke - jedenfalls wieder was gelernt!
Edit: Wäre interessant, ob man mittels Zugriff auf die FAT das Erstellungsdatum, -zeit, -attribut ermitteln könnte!
_________________ gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
|
|
|