Ich schreibe an einem Programm um Firmware auf Echtheit zu prüfen.
In der Firmwaredatei ist u.a. die Größe der Datei als Prüfwert abgelegt...
Nun habe ich allerdings ein kleines Problem beim einlesen dieses Wertes:
In der Datei steht der wert wie folgt:
Code:
HEX: xx xx xx xx xx 11 22 33 44 yy yy yy
Ich habe folgende Funktion zum Auslesen:
(fsFirmware ist vom Typ TMemoryStream)
Delphi-Quellcode:
function TFirmware.GetstoredSize: Integer;
var
buffer: integer;
begin
fsFirmware.Position := 12;
fsFirmware.ReadBuffer(Buffer,SizeOf(buffer));
result := buffer;
end;
Als Ergebnis bekomme ich allerdings nicht die Dateigröße, sondern eine Zahl, die dem gespiegeltem HEX-Wert entspricht!
Code:
HEX erwartet: 11 22 33 44
HEX Ergebnis: 44 33 22 11
Was mache ich falsch?