![]() |
MD5Hash einer Datei ändern?
Hasllo, ich lese überall wie ich einen HD5Hash erzeugen kann oder von einer datei auslesen kann.
Aber ich finde nichts über den MD5Hash ändern einer Datei. Verwende Delphi XE10. |
AW: MD5Hash einer Datei ändern?
Ein solcher Hash berechnet sich aus dem Inhalt der Datei. Ändern sich die Bytes, ändert sich i.d.R. auch der Hash.
Man kann den Hash nicht ändern ohne den Inhalt zu ändern. Aber um deine Frage präzise zu beantworten: Öffne die Datei in einem Editor deiner Wahl und füge ganz vorne ein "x" hinzu. Der Hash ist nun anders. |
AW: MD5Hash einer Datei ändern?
Zitat:
|
AW: MD5Hash einer Datei ändern?
Sorry, meines späten Feedback.
Das ich den Hash nicht einfach so ändern kann weis ich jetzt, da er sich errechnet. Meine Frage war nicht ganz korrekt formuliert. Es geht eigentlich um RAR-Dateien und da ist scheinbar ein Hash gespeichert. |
AW: MD5Hash einer Datei ändern?
Eine Frage ist immer noch nicht klar definiert?
|
AW: MD5Hash einer Datei ändern?
Das wäre der Batch Code:
Code:
Verstehe ihn leider nicht ganz
@echo off & setlocal
for %%a in ("%1*") do echo %2 >> %%a %1 = Pfad %2 = neuer MD5Hash Er nimmt alle Dateien in einem Ordner und ändert den Hash. Hätte es gerne in Delphi umgesetzt. Hoffe das es jetzt ganz verständlich ist. |
AW: MD5Hash einer Datei ändern?
Zitat:
Damit ist aber trotzdem weiter unklar, mit welchen Parametern genau diese Batch gerufen wird. Davon abgesehen kann man Batches auch von einem Delphi-Programm aus aufrufen - Stichwort ![]() Die Fragestellung bzw. welches Ziel eigentlich erreicht werden soll, ist zumindest mir immer noch unklar. Grüße Dalai |
AW: MD5Hash einer Datei ändern?
Ganz ehrlich: Was hast du vor? Was soll der Sinn davon sein?
Das ist alles kompletter Schwachsinn. Was ist dein Ziel? Es gibt keinen Grund den Hash einer Datei ändern zu wollen. (Abgesehen davon, dass es wie gesagt auch gar nicht geht außer man ändert die Datei selbst). |
AW: MD5Hash einer Datei ändern?
@Natural General: Über Sinn oder Unsinn, das las bitte mir über. Du brauchst doch hier nicht zu antworten wenn das für dich Schwachsinn ist.
@Dalai: Die Parameter habe ich oben beschrieben, 1=Pfad der Dateien und 2=MD5Hash Die Batchdatei rufe ich eh schon in Delphi auf, das klappt eh. Wollte halt den Source in Delphi haben. |
AW: MD5Hash einer Datei ändern?
![]() ![]() ![]() ![]() oder in Neudephianisch:
Delphi-Quellcode:
Und wie schon erwähnt wurde, ist soein Vorgehen natürlich nur für Textdateien halbwegs sinnvoll
for Filename in TDirectory.GetFiles(ParamStr(1), '*') do
//TFile.WriteAllText(Filename, TFile.ReadAllText(Filename) + ParamStr(2)); TFile.AppendAllText(Filename, ParamStr(2)); und hat per se absolut nichts mit MD5 zu tun, außer dass sich natürlich der Hash jeder Datei ändert, wenn man deren Inhalt ändert. |
AW: MD5Hash einer Datei ändern?
@himitsu: Danke für deine Antwort also du meinst er haut den hash hinten dazu? Damit ändert sich der hash natürlich von der Datei.
Das GetFiles usw. kenne ich schon, wirklich sehr gute Funktionen gibt es da. |
AW: MD5Hash einer Datei ändern?
Zitat:
Grüße Dalai |
AW: MD5Hash einer Datei ändern?
Les doch mal bitte
![]() |
AW: MD5Hash einer Datei ändern?
Ich habe doch die Parameter beschrieben. 2 Parameter ist der Hash den übergebe ich ja.
Der Sinn ist das sich der Hash von der Datei ändern soll, weil dieser geprüft wird ob er gleich ist. |
AW: MD5Hash einer Datei ändern?
Und die glaubst im Ernst, dass der an die Datei anzuhängende String dem letztlich resultierenden Hash der Datei entsprechen wird? Was ist, wenn die Batch mehrfach hintereinander gerufen wird? Irgendwie habe ich Zweifel daran, dass dir klar ist, was es mit Hashes auf sich hat.
Grüße Dalai |
AW: MD5Hash einer Datei ändern?
Hallo,
for %%a in ("%1*") do echo %2 >> %%a Hiermit wird der Hash (%s) als neue Zeile in der Textdatei (%1) angefügt. (siehe auch ![]() Und damit ändert sich natürlich auch der Hash der Datei. Der alte Hash steht aber als letzte Zeile drin. Lade ich die Datei (TStringList) und werfe die letzte Zeile (den Hash) wieder raus, habe ich die Originaldatei und damit den Originalhash wieder. Was das ganze soll, spielt doch keine Rolle. Vielleicht geht es um Archivierung? Zitat:
Zitat:
|
AW: MD5Hash einer Datei ändern?
Routine wird nur einmal aufgerufen.
|
AW: MD5Hash einer Datei ändern?
Also hängst du nur einen String/Text (hier ein MD5-Hash, also irgendeine Folge aus 32 hexadezimalen Zeichen) an jede Datei an?
An jede Datei den selben Hash, der mit den Dateien, wo er angehängt wird, nichts zu tun hat. Heißt das "wie kann ich den Hash ÄNDERN" nun, dass bereits schon etwas dort in den Dateien drin steht, was einen Hash darstellt und du willst Diesen "ERSETZEN"? Dann mußt du also die Texte der Dateien einlesen, ein ReplaceStr, bzw. vor dem Anhängen den alten Hash Text löschen (Delete), dann den neuen Hash anhängen und wieder speichern. Es hat also so oder so garnichts mit einem HASH der Dateiinhalte zu tun, sondern nur mit einem Text in den Dateien, der einen Hash von irgendwas darstellt. Das Delphi-Äquivalent zu Dem, was deine Batch macht, hatte ich ja schon erklärt. |
AW: MD5Hash einer Datei ändern?
Die Batchdatei tut nicht ansatzweise was du denkst was sie tut.
Und ich kann mir auch nur 1 Fall vorstellen wo das was du hier grob beschreibst im Ansatz Sinn macht und dass ist eine MD5 Kollision herbeizuführen um (d)eine Datei als etwas auszugeben was sie nicht ist und irgendeinen (Sicherheits-)Mechanismus zu umgehen. In dem Fall weiß ich nicht ob du hier überhaupt dafür Hilfe kriegen solltest/wirst aber ich kann dir schon mal sagen, dass deine Batchdatei komplett nutzlos ist, es sei denn du hast vorher schon andersweitig berechnet was du an die Datei anhängen musst um eine Kollision zu erzeugen. Der Grund warum wir fragen was du genau vorhast ist dass wir dir dann mit großer Wahrscheinlichkeit besser helfen können weil du zu 90%+ auf dem absolut falschem Weg bist. Wenn du uns keine Informationen geben kannst, dann können wir nur sehr schwer rausfinden wie wir dir helfen können und ich sag mal so.. dann hat jeder so seine Gedanken darüber was du da am bauen bist. Ich muss nicht Antworten wenn ich es für Schwachsinn halte, aber wenn sich jeder daran halten würde hätte dein Post jetzt exakt 0 Antworten weil ich mir sicher bin, dass jeder der bisher geantwortet hat das für schwachsinnig hält. Und meine Intention war trotzdem dir zu helfen, weswegen ich versucht habe aus dir die Informationen herauszulocken mit denen ich dir ggf. weiterhelfen könnte. Aber da dein Vorhaben scheinbar Top-Secret ist bezweifel ich dass der Thread hier dich irgendwie weiterbringen wird. |
AW: MD5Hash einer Datei ändern?
Hallo,
Zitat:
Er wird schon wissen, was er tut. |
AW: MD5Hash einer Datei ändern?
Zitat:
|
AW: MD5Hash einer Datei ändern?
Ich will hier gar keine Sicherheitslücke umgehen etc. bitte mir nichts negatives unterstellen ! Danke.
Habe es ja schon erklärt was ich möchte, die Datei soll sich einfach geändert haben. Ohne das sich der eigentliche Content ändert. Mir gefällt es immer wenn leute schreiben schreiben und 0 zur Lösung beitragen. Dann einfach nichts schreiben ist öfters besser. |
AW: MD5Hash einer Datei ändern?
Zitat:
Zitat:
|
AW: MD5Hash einer Datei ändern?
Ja, eh bin mit den Antworten eh zufrieden. Ob es funktioniert hat werde ich feedback geben.
|
AW: MD5Hash einer Datei ändern?
Es macht nur Sinn, wenn man jemanden was "unterschieben" wollte. :roll:
Aber die Frage sollte schon erlaubt sein. Eventuell gibt es ja eine andere Lösung für dein Problem. |
AW: MD5Hash einer Datei ändern?
Zitat:
Klar kann es Situationen bzw. Dateitypen geben, bei denen es nicht stört, wenn man etwas an sie anhängt, weil das interpretierende Programm diesen angehängten "Müll" ignoriert. Der Inhalt der Datei wird dennoch verändert (und dadurch der Hash). Sehr viele Dateitypen gehen aber durch solche Aktionen kaputt, weil ein bestimmtes Format erwartet wird. Von daher kann ich nur davon abraten, diesen Weg zu gehen (wozu auch immer das am Ende gut sein soll). Grüße Dalai |
AW: MD5Hash einer Datei ändern?
Zitat:
Drum wurde auch genauer gefragt was eigentlich gemacht werden soll, bzw. was der Sinn/Grund dafür ist. |
AW: MD5Hash einer Datei ändern?
Zitat:
Da auch ich nicht zu denen gehöre die Dein Problem so eichtig verstanden haben, würde ich gerne eine nähere Erläuterung lesen. Bitte entschuldige meine Begriffsstutzigkeit. Gruß K-H |
AW: MD5Hash einer Datei ändern?
Hallo,
Zitat:
Textdatei-Original: 1 2 3 <Dateiende> Hash der Datei: xxxx jaja, xxxx ist nicht wirklich ein richtiger Hash ;) Textdatei nach der Ausführung Batch-Datei: 1 2 3 Der Hash als Parameter %s <Dateiende> Hash der Datei: xxxx Jetzt nehmen wir die letzte Zeile wieder weg Textdatei ohne die letzte Zeile 1 2 3 <Dateiende> Hash der Datei: xxxx wie vorher das Original |
AW: MD5Hash einer Datei ändern?
Ja, genau! Ich kann irgendetwas dazuhängen und der Hash ist anders. Solange es der Dateityp zulässt passt es.
Mein Test hat funktioniert, mein rar lässt sich auch mit dem dazugehängten text entpacken. Scheint zu funktionieren sozusagen, ob es für euch einen Sinn macht oder nicht sei dahingestellt. Ihr habt mir ja geholfen also passt es so. Thx. |
AW: MD5Hash einer Datei ändern?
..."Solange es der Dateityp zulässt passt es"...
Du denkst/machst es dir definitiv zu einfach! Meist du ernsthaft, alles was auf ".rar" endet ist gleich?... und nicht jede RAR-Datei wird mit einem akuellem "org. WinRar" erzeugt oder gelesen. "RARv4" und "RARv5" unterscheiden sich intern schon so gewaltig, das nicht jedes andere/ältere Programm damit klarkommt. Deine "verlängerten" Archive würden bei meiner Software die definiv bestmöglich mit allen alten nund neuen RAR-Dateien kompatibel ist, herausfallen, weil der EOF Check schief geht... denn wenn die RAR Struktur voll durch geparst, muss der FilePointer auf EOF stehen! Was du willst, würde ich via der dafür vorgesehenen Metadaten-Tag im RAR-Format machen, da kann mann biebige Kommentare, HASH-Werte oder was auch immer man will SAUBER hinzufügen&beliebig ändern, ohne des es etwas an den im RAR-Archiv komprimierten Daten ändert. => das wäre die 100% saubere&sichere Lösung für dein Vorhaben! (für PNG/JPG gibt es auch solche von den Bildinformationen UNABHÄNGIGEN MetaTags, und NUR dieser Weg ist SAUBER und SICHER) Mein Tip: - beschäftige dich ernsthaft mit den Dokus zu deinen möglichen physischen Dateiformaten und ihren internen (historischen)Versionsunterschieden! - trenne dich von der Annahme, das ".rar" nur zu WinRar gehört, oder ".doc" nur zu MS-Word... bestes Beispiel ist ".zip" da gibt es unendlich viel Software die damit incl. zig interner Versionen&Varianten arbeitet! - denke auchmal an gute Virentests... die sperren "verlängerte" Standarddateien ganz fix&hart, denn denk dochmal nach wenn jeder Viren&Malware Programmierer seine bösen Zusatzbytes einfach so an Standard-Dateien anhängen könnte... vergiss also bitte das einfache "Anhängen"! |
AW: MD5Hash einer Datei ändern?
Mal noch etwas Klugscheißerei ;)
Zitat:
Der restlichen Argumentation hingegen kann ich vollumfänglich zustimmen. Und IMO wird die Geschichte spätestens mit Multipart-Archiven oder völlig anderen Dateitypen krachen gehen... Grüße Dalai |
AW: MD5Hash einer Datei ändern?
Hallo,
Zitat:
Dann lass doch den Thread schließen, damit nicht noch mehr Schlaumeier mehr "könnte"-Sachen reinschreiben. PS: Seit der Oma-Attacke im WDR (?) "Schlaumeier" war Ironie ... |
AW: MD5Hash einer Datei ändern?
Wenn das Problem jetzt gelöst ist, darf man fragen wozu du das brauchst?
|
AW: MD5Hash einer Datei ändern?
Zitat:
Gruß K-H P.S. Das kann man natürlich mit jeder Software machen, die sich nur an den logischen Strukturen orientiert. |
AW: MD5Hash einer Datei ändern?
Wenn die Frage gelautet hätte "wie ändere ich eine Datei, ohne dass sich ihr intern gespeicherter Hash ebenfalls ändert?", dann hätte dieser Thread für mich Sinn gemacht (Sinn oder Unsinn dieses Vorhabens einmal außen vor gelassen).
|
AW: MD5Hash einer Datei ändern?
Bin mir gerade nicht so ganz sicher, aber für ausführbare dateien (.exe .dll .ocx .sys usw...) ändert da ein ADS auch den hash oder wird der ADS übersprungen?
|
AW: MD5Hash einer Datei ändern?
Ich vermute das kommt auf das Programm an, das den Hash bildet. Da es ADS potenziell auf anderes OS nicht in identischer Form gibt, würde es für mich Sinn machen nur den reinen regulären Dateiinhalt selbst dafür zu nutzen.
|
AW: MD5Hash einer Datei ändern?
ADS stehen ja im Dateisystem des Datenträgers und sind mit der Datei verknüpft. Gehasht wird aber doch wohl nur die Datei selber.
|
AW: MD5Hash einer Datei ändern?
Es wäre schlimm, wenn ein ADS den Hash einer Datei ändern würde, denn dadurch gingen sämtliche signierte Dateien kaputt (die Signatur hängt ja auch am Hash der Datei).
Grüße Dalai |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:27 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