Forum: Programmieren allgemein
by nicodex,
23. Okt 2008
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).
Forum: Programmieren allgemein
by nicodex,
23. Okt 2008
Dann gehe ich davon aus, dass die Anwendung das Format deiner Daten nicht mag oder sich an einer anderen Stelle weitere Definitionen/Attribute (Größen, Prüfsummen, ...) befinden.
Forum: Programmieren allgemein
by nicodex,
23. Okt 2008
Dekodiere eine Originaldatei, kodiere sie wieder und mache dann einen Binärvergleich (fc /b a.dat b.dat).
Wenn das funktioniert, dann liegt das Geheimnis woanders (in den Daten selbst).
Forum: Programmieren allgemein
by nicodex,
23. Okt 2008
const
FileName = 'D:\Temp\karten.decoded.png';
var
Source: TFileStream;
Header: array of AnsiChar;
Stream: TMemoryStream;
Buffer: PByte;
Index: Integer;
begin
Source := TFileStream.Create(FileName, fmOpenRead);
Forum: Programmieren allgemein
by nicodex,
23. Okt 2008
Nimm mal die ersten vier Bytes ("CF10") weg und XOR die restlichen Bytes mit $8D.
edit:const
FileName = 'D:\Temp\karten.png';
var
Source: TFileStream;
Header: array of AnsiChar;
Stream: TMemoryStream;
Buffer: PByte;
Index: Integer;