Patcher w Delphi

0

Chciałbym napisać w Delphi patchera do plików binarnych, ale nie wiem jak się do tego zabrać. Programik ma działać tak jak np. niektóre cracki, tzn. ma zmieniać konkretny bajt w pliku na podaną przeze mnie wartość. Proszę o pomoc.

0

otworz plik jako file of byte lub . Procedura Seek znajdz odpoweidnie miejsce w pliku, a procedura write zapisz nowa wartosc.--Pawel

Delphi6

0

A może widziałeś gdzieś żródła podobnego programiku?
W każdym razie dzięki wielkie za zainteresowanie i za pomoc!

0

jerry77 napisał:
A może widziałeś gdzieś żródła podobnego programiku?

Nie widzialem, napisalem to z glowy.--Pawel

Delphi6

0

Nie mogę sobie z tym poradzić ;( Czy mógłbym prosić o bardziej łopatologiczne wytłumaczenie?

0

jerry77 napisał:
Nie mogę sobie z tym poradzić ;( Czy mógłbym prosić o bardziej łopatologiczne wytłumaczenie?

Pisze z glowy:

function Patch (Filename:string; NumerBajtu : Int64;
Starawartosc, Nowawartosc : byte): boolean;
//patchuje 1 bajt i zwraca true jesli sukces
var
F: file of byte;
Wartosc : byte;
begin
Result:=False;
try
AssignFile(F, FileName);
Reset(F);

except
Exit;
end;

try
Seek(F, Numerbajtu);
Read(F, Wartosc);
except
CloseFile(F);
Exit;
end;

If Wartosc&lt&gtStaraWartosc then Exit;

try
Seek(F,Numerbajtu);
Write(F, Nowawartosc);
except
CloseFile(F);
Exit;
end;
Closefile(F);
Result:=True;
end;

powinienes to jeszcze rozbudowac o mozliwosc patchowania wielu bajtow za jednym razme (proponuje uzyc tablic otwartych) i uzaleznic wartosc zwaracana od rodzaju bledu--Pawel

Delphi6

0

jeszcze poprawka:

If Wartosc&lt&gtStaraWartosc then
begin
CloseFile(F);
Exit;
end;
--Pawel

Delphi6

0

Dzięki ci wielkie!!! O takie coś mi chodziło.
Pozdrawiam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0