AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein "Verschlüsselte" Bilddateien "entschlüsseln"
Thema durchsuchen
Ansicht
Themen-Optionen

"Verschlüsselte" Bilddateien "entschlüsseln"

Offene Frage von "sunnymtx"
Ein Thema von The Riddler · begonnen am 23. Okt 2008 · letzter Beitrag vom 16. Nov 2010
Antwort Antwort
Seite 3 von 3     123   
The Riddler
(Gast)

n/a Beiträge
 
#21

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 23. Okt 2008, 21:45
Falls es irgendwie hilft: Es gibt ein kostenpflichtiges Programm, dass ebenfalls das macht was ich möchte. Mit diesem konnte ich die eine PNG Datei mal ersetzen. In der *.dat-Datei wurden durch das Programm nun folgende Änderungen gemacht. Was genau das ist bzw. wie ich die *.dat so ändern kann das meine Dateien geschluckt werden weiß ich leider noch nicht.

Zitat:
C:\Dokumente und Einstellungen\Pierre>cd Desktop

C:\Dokumente und Einstellungen\Pierre\Desktop>fc /b chili1.dat chili2.dat
Vergleichen der Dateien chili1.dat und CHILI2.DAT
0000720D: B2 EF
0000720E: A4 DC
0000720F: 30 2D
00007210: B8 BC
00007211: F6 B6
00007212: 35 F2
00007213: 8C 3E
00007214: 07 8C
00007215: E8 76
00007216: 34 D3
00007217: 99 B8
00007218: 03 7B
00007219: F8 9E
0000721A: 3D B2
0000721B: EB 00
0000721C: 02 9A
  Mit Zitat antworten Zitat
Benutzerbild von nicodex
nicodex

Registriert seit: 2. Jan 2008
Ort: Darmstadt
286 Beiträge
 
Delphi 2007 Professional
 
#22

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 23. Okt 2008, 23:51
Das sind einfach zu wenig Daten/Informationen, um irgendetwas damit anzufangen (außer zu raten).
Da dein Diff 16 aufeinanderfolgende Bytes Unterschied liefert, könnte jfheins recht haben (MD5).
  Mit Zitat antworten Zitat
The Riddler
(Gast)

n/a Beiträge
 
#23

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 26. Okt 2008, 11:11
Und jfheins hatte Recht! Der MD5 String des Bildes steht in der *.dat Datei drin, siehe Anhang. Vielen Dank.

Nun gibt es eigentlich kein großes Problem mehr, jedenfalls von theoretischer Sicht aus für mich. Mein Programm holt sich den MD5 Hash der Original-Datei, holt sich dann den MD5 Hash meiner neuen Datei. *.dat Datei öffnen und alten Hash durch neuen Hash ersetzen. Speichern und fertig, oder?

Nur leider... hakts an der Umsetzung. Strings in Dateien könnt ich ja vlt. noch grad so ersetzen, ob wie soll ich Hex-Werte ersetzen?
Miniaturansicht angehängter Grafiken
heinsiisnegeilesau_120.png  
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#24

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 26. Okt 2008, 12:06
Hallo,

wie öffnest Du die Datei?

..mit eine StringList sollte es Probleme geben "binäre" Werte einzutragen.
Bei einem TFileStream würde ich da keine Probleme sehen.

Womit generierst Du Deinen MD5 Wert?
Gibt es da auch eine Möglichkeit der Wert als 16 Byte zu bekommen
oder wird der Wert nur in der Hexdarstellung angeboten?

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
The Riddler
(Gast)

n/a Beiträge
 
#25

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 26. Okt 2008, 12:14
Hallo Klaus,

im Moment öffne ich die Datei noch mit einem handelsüblichen HEX-Editor. Aus Delphi heraus dann sicherlich mit einem File- oder Memorystream.

Gut das du gefragt hast, meine md5.pas ist weg und auf http://www.fichtner.net/delphi/md5.delphi.phtml gibt es sie nicht mehr zum Download. Hat die zufällig noch jemand damit ich MD5 Hashes von meinen Dateien generieren kann?
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#26

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 26. Okt 2008, 14:02
Hallo, versuche doch mal diesen Code, um die MD5-Hashs zu ersetzen:
Delphi-Quellcode:
type
  MD5Digest: Array [0..15] of byte

type
  MD5Digest: Array [0..15] of byte

procedure Replace(Stream: TStream; oldmd5, newmd5: MD5Digest)
var
  i: Integer;
  pos: Int64;
  pattern: MD5Digest;
begin
  for i = 0 to 15 do
  begin
    oldmd5[i] := oldmd5[i] xor $8D;
    newmd5[i] := newmd5[i] xor $8D;
  end;
  
  Stream.Position := 0;

  while (Stream.size - Stream.Position) >= sizeof(MD5Digest) do
  begin
    pos := Stream.Position;
  
    Stream.readbuffer(pattern, sizeof(MD5Digest));
    
    Stream.position = pos + 1; // Wir müssen byteweise vorgehen
    
    if (comparemem(@pattern[0], @oldmd5[0], sizeof(MD5Digest)) = 0) then
    begin
      Stream.position = pos;
      Stream.writeBuffer(newmd5, sizeof(MD5Digest));
      break;
    end;
  end;
end;

procedure ReplaceFile(FileName: String; old, new: Array of MD5Digest)
var
  fs: TFileStream;
  mem: TmemoryStream;
  i: Integer;
begin

  mem := TMemoryStream.Create();

  fs := TFileStream.Create(FileName, fmOpenReadWrite or fmShareExclusive);
  try
    mem.CopyFrom(fs, 0);
    
    for i = low(old) to high(old) do
    begin
      Replace(mem, old[i], new[i]);
    end;
    
    fs.CopyFrom(mem, 0);
    
  finally
    fs.Free;
    mem.Free;
  end;
end;
So ähnlich zumndest
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#27

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 26. Okt 2008, 14:05
Hallo,

anbei die md5.pas die ich ab und an verwende.
Den binären MD5 Wert erhälst Du wenn Du diese Funktion function MD5File(N: string): MD5Digest; aufrufst.
MD5Digest ist ein Array[0..15] of Byte;

Grüße
Klaus
Angehängte Dateien
Dateityp: pas md5_190.pas (12,3 KB, 15x aufgerufen)
Klaus
  Mit Zitat antworten Zitat
The Riddler
(Gast)

n/a Beiträge
 
#28

Re: "Verschlüsselte" Bilddateien "entschlüsse

  Alt 26. Okt 2008, 14:50
Danke Klaus, genau die hatte ich schon per Google gefunden.

Aber mein ganzer Dank geht an jfheins, durch dessen Hilfe es jetzt geht (+ ICQ Hilfen)! Du bist mein Held des Monats.

P.S.: Meld dich mal vor Weihnachten bei mir, ich schenk dir 25€ zu Weihnachten. Nicht das noch jemand auf die Idee kommt das hier wäre Schwarzarbeit.
  Mit Zitat antworten Zitat
sunnymtx

Registriert seit: 16. Nov 2010
1 Beiträge
 
#29

AW: "Verschlüsselte" Bilddateien "entschlüsseln"

  Alt 16. Nov 2010, 16:50
Hallo Leute,

Ich hole mal diesen alten Thread nach oben, weil good old Google ihn bei mir gefunden hat und ich anders nicht weiterkomme.
Das Problem hat nix mit Delphi zu tun, aber ihr scheint mir alle tolle Experten zu sein!
Ich habe von einer Freeware Designsoftware ein Hintergrundbild, das ich dringend für ein anderes Projekt benötige. Allerdings hat der Hersteller wohl ein paar Bytes in der Datei verändert, sie verschlüsselt oder irgendwie gepackt. Wenn man sich das im HEX-Editor anschaut sieht man neben kryptischen Zeichen (wohl den Bildinformationen) nur einen Abschnitt über Adobe XMP Core 4.1, Tiff-Datei und Dimensionen des Bildes. Kommt ihr darauf, was mit der Datei los is? Das wäre gigantisch!

Hab sie hier hochgeladen:
http://www.megaupload.com/?d=4N7OYDXR
Und hier is der Abschnitt mit Hex-Code:
http://img808.imageshack.us/i/hexcode.jpg/

Herzlichsten Dank!
Miniaturansicht angehängter Grafiken
hexcode.jpg  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 17:50 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