ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Алгоритмы безопасного удаления файлов
  #1  
Старый 14.11.2008, 22:47
Аватар для _nic
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию Алгоритмы безопасного удаления файлов

По каким алгоритмам работают программы "бесследно" удаляющие файлы?Мне не приходит в голову ничего кроме как открыть файл и записать в него несколько раз мусор,а потом удалить.
 
Ответить с цитированием

  #2  
Старый 14.11.2008, 22:55
Аватар для PHPoozy
PHPoozy
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме:
881554

Репутация: 66
По умолчанию

папка это вить тож файл ".."
 
Ответить с цитированием

  #3  
Старый 14.11.2008, 22:59
Аватар для _nic
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию

Цитата:
Сообщение от PHPoozy  
папка это вить тож файл ".."
Ну и что ты предлогаешь?
 
Ответить с цитированием

  #4  
Старый 14.11.2008, 23:08
Аватар для PHPoozy
PHPoozy
Участник форума
Регистрация: 01.07.2008
Сообщений: 175
Провел на форуме:
881554

Репутация: 66
По умолчанию

Цитата:
Ну и что ты предлогаешь?
перезаписать папку из того что было
 
Ответить с цитированием

  #5  
Старый 14.11.2008, 23:10
Аватар для spider-intruder
spider-intruder
Постоянный
Регистрация: 10.12.2005
Сообщений: 939
Провел на форуме:
3886281

Репутация: 929


Отправить сообщение для spider-intruder с помощью ICQ
По умолчанию

Разобрать структуру файловой системы - найти физ. сектор содержащий информацию и перезаписать. Че ту сложного?!


Например для NTFS
Код:
ULONGLONG *GetFileClusters(
                    PCHAR lpFileName,
                    ULONG ClusterSize, 
                    ULONG *ClCount,
                    ULONG *FileSize 
                    )
{
    HANDLE  hFile;
    ULONG   OutSize;
    ULONG   Bytes, Cls, CnCount, r;
    ULONGLONG *Clusters = NULL;
    BOOLEAN Result = FALSE;
    LARGE_INTEGER PrevVCN, Lcn;
    STARTING_VCN_INPUT_BUFFER  InBuf;
    PRETRIEVAL_POINTERS_BUFFER OutBuf;

    hFile = CreateFile(lpFileName, FILE_READ_ATTRIBUTES,
                       FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
                       NULL, OPEN_EXISTING, 0, 0);

    if (hFile != INVALID_HANDLE_VALUE)
    {
        *FileSize = GetFileSize(hFile, NULL);

        OutSize = sizeof(RETRIEVAL_POINTERS_BUFFER) + (*FileSize / ClusterSize) * sizeof(OutBuf->Extents);

        OutBuf = malloc(OutSize);

        InBuf.StartingVcn.QuadPart = 0;
		
        if (DeviceIoControl(hFile, FSCTL_GET_RETRIEVAL_POINTERS, &InBuf, 
                            sizeof(InBuf), OutBuf, OutSize, &Bytes, NULL))
        {
            *ClCount = (*FileSize + ClusterSize - 1) / ClusterSize;

            Clusters = malloc(*ClCount * sizeof(ULONGLONG));

            PrevVCN = OutBuf->StartingVcn;

            for (r = 0, Cls = 0; r < OutBuf->ExtentCount; r++)
            {
                Lcn = OutBuf->Extents[r].Lcn;

                for (CnCount = OutBuf->Extents[r].NextVcn.QuadPart - PrevVCN.QuadPart;
                     CnCount; CnCount--, Cls++, Lcn.QuadPart++) Clusters[Cls] = Lcn.QuadPart;

                PrevVCN = OutBuf->Extents[r].NextVcn;
            }
        }
			
        free(OutBuf);	

        CloseHandle(hFile);
    }
    return Clusters;
На выходе этой функции мы имеем массив описывающий кластеры файла

Последний раз редактировалось spider-intruder; 14.11.2008 в 23:15..
 
Ответить с цитированием

  #6  
Старый 14.11.2008, 23:12
Аватар для vikseriq
vikseriq
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме:
299231

Репутация: 107
Отправить сообщение для vikseriq с помощью ICQ
По умолчанию

Цитата:
Сообщение от _nic  
Мне не приходит в голову ничего кроме как открыть файл и записать в него несколько раз мусор,а потом удалить.
Мне тоже... Вариант прямого обращения к фс через асм и удаление цепочек дублей отбросим - не отравдывает.
Хотя как по мне, то человек, которому нужна была подобная прога, затиркой (ы...) доволен. Так что сильно не парься.
 
Ответить с цитированием

  #7  
Старый 14.11.2008, 23:16
Аватар для spider-intruder
spider-intruder
Постоянный
Регистрация: 10.12.2005
Сообщений: 939
Провел на форуме:
3886281

Репутация: 929


Отправить сообщение для spider-intruder с помощью ICQ
По умолчанию

обращения к фс через асм - на кой хрен через асм простите )

Читайте безсмертного рему и думайте: http://www.wasm.ru/article.php?article=lockfileswork

в третьем методе пример получения физ положения файла. Код в пердыдущем посте есть.
Получите его положение и затрите чем угодно.

CreateFile и \\\\.\\File еще никто не отменял вплоть до висты

Последний раз редактировалось spider-intruder; 14.11.2008 в 23:19..
 
Ответить с цитированием

  #8  
Старый 14.11.2008, 23:40
Аватар для scrat
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
Провел на форуме:
5812656

Репутация: 1540


Отправить сообщение для scrat с помощью ICQ
По умолчанию

если кратко: при удалении в память,которую занимал файл не пишутся нули(очень долго займёт),просто вся память помечается как свободная и на её уже можно перезаписывать. Следовательно безопасное удаление должно в эту область памяти записывать что-либо(нули) и только потом производить стандартное удаление.
 
Ответить с цитированием

  #9  
Старый 14.11.2008, 23:41
Аватар для Qwazar
Qwazar
Leaders of Antichat - Level 4
Регистрация: 02.06.2005
Сообщений: 1,411
Провел на форуме:
10605912

Репутация: 4693


По умолчанию

Цитата:
Сообщение от _nic  
По каким алгоритмам работают программы "бесследно" удаляющие файлы?Мне не приходит в голову ничего кроме как открыть файл и записать в него несколько раз мусор,а потом удалить.
Ну а в общих чертах так оно обычно и делается.
__________________
Я отдал бы немало за пару крыльев,
Я отдал бы немало за третий глаз
За руку на которой четырнадцать пальцев
Мне нужен для дыхания другой газ..

Мой блог:http://qwazar.ru/.
 
Ответить с цитированием

  #10  
Старый 14.11.2008, 23:56
Аватар для bons
bons
Участник форума
Регистрация: 20.12.2007
Сообщений: 295
Провел на форуме:
1777055

Репутация: 347
По умолчанию

перезапись файла все равно оставляет магнитные следы предыдущих данных. Поэтому надежнее не просто затирать нулями а использовать спец алгоритмы для этого разработанные.
http://ru.wikipedia.org/wiki/Алгоритмы_уничтожения_инфо рмации
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обзор программ для очистки жёсткого диска v1ru$ Soft - Windows 21 17.01.2010 21:07
Комманды Виндовс или файл *.bat юный хакер Windows 10 02.04.2009 10:00
Прога для удаления опр. файлов, при нажатии опр. клавишь. deniska1517 Soft - Windows 5 26.07.2008 17:42
Доступ к компу в инете Dr.Saikov АнтиАдмин 13 25.06.2008 18:14
Dos-команды юный хакер Windows 6 01.06.2008 11:05



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ