Например, с помощью файлового потока.
Код:
procedure ReplaceByteInFile(AFileName : String; AOffset : Int64; AData : Byte);
var
F : TFileStream;
begin
F := TFileStream.Create(AFileName,fmOpenReadWrite);
Try
Finally
F.Seek(AOffset,soFromBegining);
F.WriteBuffer(AData,SizeOf(Byte));
F.Free;
End;
end;