Er ved at skrive et program der skal patche et par bytes i en anden fil, men det virker ikke særlig godt.
Her er koden
const OffsetExe : Array[1..3] of LongInt = ($00018207,$00018208,$0001820A);
const Data : Array[1..3] of Byte = (207,144,0);
procedure PatchFile(Filename: TFileName);
var
FileType: string;
F: File;
i: integer;
begin
FileType:= ExtractFileExt(Filename);
AssignFile(F,Filename);
Reset(F);
if (FileType = LowerCase('.exe')) then
begin
for i:= 1 to Length(OffsetExe) do
begin
Seek(F,OffsetExe[i]);
BlockWrite(F,Data[i],1);
end;
end;
CloseFile(F);
end;
Det der sker er at der patches en hel masse bytes, mange flere end jeg har angivet, og filen bliver corrupt. Nogen der kan se fejlen?
-----------------------------
Jonas (Decko)
http://decko.1go.dk/blog