delphi4arab منتديات دلفي للعرب

نسخة كاملة : التغير في PE Header من برنامجي
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
كود :
Procedure ChangeMZ(filname:pAnsichar);
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