16-12-2018, 08:24 PM
الصفحات : 1 2
27-12-2018, 03:31 PM
PHP كود :
Procedure SolveFile(INFECTEDFILE,CLEANFILE: String);
const
MZ_BUF_NEW : ARRAY [0..1] OF BYTE = ($4D, $5A);
var
MZ_BUF_OLD : ARRAY [0..1] OF BYTE;
MS: TMemoryStream;
begin
MS := TMemoryStream.Create;
try
MS.LoadFromFile(INFECTEDFILE);
MS.Position := $00000000;
MS.ReadBuffer(MZ_BUF_OLD, 2);
if not CompareMem(@MZ_BUF_OLD[0], @MZ_BUF_NEW[0], 2) then
begin
MS.Position := $00000000;
MS.Write(MZ_BUF_NEW[0],1);
MS.Position := $00000001;
MS.Write(MZ_BUF_NEW[1],1);
MS.SaveToFile(CLEANFILE);
end;
finally
MS.Free;
end;
end;
طريقة الاستعمال :
PHP كود :
SolveFile('infected.exe','clean.exe');
الصفحات : 1 2