![]() |
Hat eine Datei etwas eindeutiges?
Hallo,
ich wollte Fragen ob es irgendetwas gibt mit dem man feststellen kann ob eine Datei eine Kopie ist oder nicht.... Also z.B. Das Datum oder so... Also praktisch ein Atribut was nur diese eine Datei hat und nicht die Kopie.... Vielleicht gibts dazu ja irgendeine function in Delphi? Danke für die Antworten!!! Gruß Andy |
Re: Hat eine Datei etwas eindeutiges?
Hallo Andy,
wenn du wissen willst, ob zwei Dateien den gleichen Inhalt haben, dann wäre ein digital finger print die Lösung. Suche mal in der code library oder im Internet nach md5. Grüße vom marabu |
Re: Hat eine Datei etwas eindeutiges?
Er weiss ja dass die Dateien den selben Inhalt haben. Es geht ihm nur drum ob die eine Datei das Original und die andere die Kopie ist. IMHO lassen sich allerdings ALLE Eigenschaften der Datei fälschen. Du könntest allerdings die Position der Datei auf der Festplatte ermitteln (z.B.: Byte 23489244 - Byte 23503434). Wenn der User dann allerdings die Festplatte formatiert etc. is das auch nixmehr.
==> Geht nicht. Der Kopierschutz von CDs funktioniert über bestimmte Eigenschaften des Dateisystems CDFS. (falsche Quersummen etc.) |
Re: Hat eine Datei etwas eindeutiges?
Hallo,
ja also es soll jetrzt nicht direkt ein Kopierschutz werden aber ich habe mir gedacht dass vielleicht das Datum anders ist? Kennt Ihr da was wie man das auslesen kann? Gruß Andy |
Re: Hat eine Datei etwas eindeutiges?
Hallo Andy,
für dich am einfachsten könnte das hier sein:
Delphi-Quellcode:
Frohe Weihnachten vom marabu
uses
SysUtils; var dt: TDateTime; begin dt := FileDateToDateTime(FileAge('filename.ext')); end; |
Re: Hat eine Datei etwas eindeutiges?
Aber das Datum lässt sich ja auch einfach verändern. Mit setfiletime.
|
Re: Hat eine Datei etwas eindeutiges?
Zitat:
Die physikalische Position der Datei ist in keinster Weise als Anhaltspunkt dafür zu nehmen. Zum einen kann eine Defragmentierung des Dateisystems die Cluster komplett anders anordnen, und zum anderen sind Dateisysteme für Random-Access Massenspeicher mit vielen zufälligen Schreib- und Lesezyklen nicht so aufgebaut, daß eine Datei immer in einem Stück auf der Platte liegt, sondern man die Datei in viele Cluster aufteilt, von denen der erste ganz am Anfang des Dateisystems, und der zweite ganz am Ende liegen kann. Außerdem werden je nach Größe der Datei freigewordene Cluster im Dateisystem recycled, löscht man also eine Datei am Anfang, kann eine andere Datei, die man zu einem späteren Zeitpunkt anlegt, in diesen Clustern liegen, und nicht einfach "hinten dran". Zitat:
Es gibt aber keine Möglichkeit, das Original von einer Kopie zu unterscheiden, wenn du das Original nicht kennst. Es gibt auch keine Möglichkeit, den Inhalt einer Original-CD und einer Kopie von ihr zu unterscheiden. |
Re: Hat eine Datei etwas eindeutiges?
Da hänge ich mich doch mal dran ;-)
Ich stehe vor einem ähnlichen Problem, dann ich will die Dateien einer lokalen Installation von denen der "gültigen" Installationsdateien unterscheiden. Konkret habe ich einen "Autoupdater", der nachschaut, welche Dateien lokal vorliegen und diese dann ggf. mit Dateien vom Server überschreibt bzw. ergänzt. Momentan benutze ich dazu einen Mix aus "Compile-Date" und Dateigröße. Ein kleiner Haken an der Sache ist, dass z.B. Textdateien kein "Compiledate" haben und ich diese nicht eindeutig identifizieren kann, sofern die Dateigröße lokal und auf dem Server identisch ist. Gruß, Igotcha |
Re: Hat eine Datei etwas eindeutiges?
|
Re: Hat eine Datei etwas eindeutiges?
Nein, eben nicht :wall: Die Dateien haben genau den gleichen Inhalt, nur soll dann sicher zwischen Original und Kopie unterschieden werden.
@tommie-lie: sry, ich meinte defragmentieren und nicht formatieren... wie bin ich denn darauf gekommen? :gruebel: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz