|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
||||||
Перезаписывать данные на жестком диске из под Винды23.02.2024, 08:33. Показов 2193. Ответов 19
Метки нет (Все метки)
Говорю сразу: я не пишу вирус!
Мне нужно затирать данные о стёртых файлах, поэтому на c++ пишу такую прогу. Такой вопрос встал: почему начиная с 4.194.304 смещения в FAT32 Винда не позволяет туда что-либо записывать, при этом записать что-то с нулевого смещения ось позволяет (само-собой весь раздел к чертям летит). Для чего я это делаю? Родина поставила задачу сделать софтину, которая полностью будет стирать данные об удаленном файле. Проблема в том, что Recuva и прочие находят метаданные удаленного файла. Да, восстановить его нельзя, но остается след о том, что файл в принципе был на этом компьютере. Поэтому возникает необходимость лезть напрямую в раздел. Имею вот такой код:
p.s надеюсь вопрос в правильном разделе задал, а не в ремонте холодильников
0
|
||||||
| 23.02.2024, 08:33 | |
|
Ответы с готовыми решениями:
19
Можно ли перенести информацию о жестком диске, чтобы на новом жестком диске была информация со старого Защитить данные на жестком диске Как восстановить данные на неисправном жестком диске? |
|
Злостный нарушитель
10359 / 5774 / 1274
Регистрация: 12.03.2015
Сообщений: 26,686
|
|
| 23.02.2024, 10:19 | |
|
Родина попросила стирать инфу только с FAT32-разделов?
![]() Как Родина называется?
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 23.02.2024, 10:41 | |
|
А какую ошибку возвращает?
0
|
|
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 23.02.2024, 10:50 [ТС] | |
|
nmcf, ошибка 5 - ERROR_ACCESS_DENIED, доступ запрещен. Причем запрещает доступ к таблице, от нулевого смещения и до таблицы он позволяет легко вносить изменения и ронять раздел
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 23.02.2024, 10:59 | |
|
Запускал от имени Администратора? Без share пробовал?
0
|
|
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 23.02.2024, 11:08 [ТС] | |
|
nmcf, да, всё от админа. А "без share" - это как это понять?
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 23.02.2024, 11:24 | |
|
Ну когда открываешь (CreateFile), запретить совместный доступ.
0
|
|
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 23.02.2024, 11:41 [ТС] | |
|
nmcf, не канает, сразу же ошибка 32 - файл занят другим процессом. Вроде никто к нему не обращается, я это раздел для тестов на 100 мб выделил
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 23.02.2024, 12:00 | |
|
Наверное, нужен какой-то монопольный доступ.
Есть такая программа - Win32 Disk Imager. Небольшая, с использованием Qt. Посмотри, как там сделана запись. https://sourceforge.net/projects/win32diskimager/
0
|
|
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 23.02.2024, 12:08 [ТС] | |
|
nmcf, Благодарю!
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
|||
| 26.02.2024, 13:29 | |||
|
0
|
|||
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 27.02.2024, 08:39 [ТС] | |
|
COKPOWEHEU, указанное смещение является началом FAT таблицы. Создавал несколько разделов - именно с него везде начинается таблица.
Про размер сектора - он однозначно равен 512, потому что практика показала именно это значение, при котором получается считывать биты, иначе ошибка 87 - не верно переданные аргументы. + ко всему, если взять какую-либо авторитетную программу типа WinHex - она сама показывает что сектора равны именно 512-ти
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
||
| 27.02.2024, 12:30 | ||
|
Qouk, а честно читать и парсить FAT вы не пытаетесь? Там ведь от способа форматирвоания зависит и размер сектора, и количество копий FAT, и начало корневого раздела (кстати, в fat16 сделано еще более упорото: под корневой каталог выделена область фиксированного размера).
Собственно, на вашем месте я бы с этого и начал - с парсинга существующих FAT-ов, чтения файлов и т.д. И, в общем-то, когда я делал эмуляцию fat16 на контроллере, так и делал. Скажем, у SD-карточки тоже работа возможна только с 512 байтами за раз, и это никак не связано с файловой системой. Это ограничение железки.
0
|
||
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 28.02.2024, 05:09 [ТС] | |
|
COKPOWEHEU, ох ёлки зелёные... Вот об этом не задумывался. Да суть даже не в этом, а в том что ОС не даёт туда ничо писать. Взять тот же DOS - так тому пофигу будет.
Мне просто нужно разобраться как сказать оси, чтобы дала мне полный карт-бланш на запись в диск что угодно и где угодно. На счёт блочных устройств и соответствующей с ними работы - не проблема. Копировать блок, искать в нем название стертого файла, вписывать туда ересь, переписать всё на место. P.S Вспомнил! Устройство одно - террабайтник HDD, на нём я создавал несколько тестовых секторов FAT и NTFS. В NTFS раздел можно по одному байту писать куда угодно. Стало быть дело явно не в железке.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 28.02.2024, 09:53 | |
|
Qouk, ты посмотрел ту программу? Разобрался?
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
|||
| 28.02.2024, 10:41 | |||
|
Можно попробовать создать "эталонный" образ FAT, создавать-удалять файлы, монтировать его в ОС и смотреть как он там будет выглядеть. Опять же для проверки адресов. Ладно к реальному устройству ОС может не давать доступа, но уж к локальному-то файлу мешать не будет. Или винда так не умеет? Кстати об адресе первого сектора. Вы не забываете перед удалением пройтись по всей цепочке секторов и очистить содержимое? Потому что обычное удаление это всего лишь очистка флага "занято" на секторе и удаление записи из каталога.
0
|
|||
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 28.02.2024, 12:49 [ТС] | |
|
nmcf, программку я ту смотрел, да не нашел того, что мне нужно. Однако вопрос можно закрывать, поскольку я разобрался в чём беда: демонтаж раздела.
Добавлено через 5 минут COKPOWEHEU, да, с этим я давно разбирался. Отвечу на ваши вопросы, потом уже на свой (точнее там все просто - демонтирование раздела решило мою проблему). До какого раздела разрешена запись? 512*6669. Уверен ли я что по этим адресам находятся нужные мне данные? Нужные мне данные хранятся в таблице FAT, с которой я так же разобрался. Спасибо великому WinHex (и демонтированию раздела, который так же вывел меня из тупика). Эталонный образ FAT? Громко сказано, конечно, скорее тестовый. Да, только на таких и экспериментирую. Про разделение на имени файла на части - не страшно, с докой к фатке уже разобрался. Экскремент, конечно, тот еще этот фат, NTFS мне понравился больше в этом плане
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
||||
| 28.02.2024, 13:20 | ||||
|
0
|
||||
|
1 / 1 / 0
Регистрация: 10.11.2018
Сообщений: 85
|
|
| 28.02.2024, 13:54 [ТС] | |
|
COKPOWEHEU, прикол в том, что узнав из книжки по криминалистическому анализу, у FAT есть скрытый раздел, который даже системой не используется (т.е вот эти самые первые 0 - 6669 кластеров). Видимо поэтому я "на горячую" смог туда че-то пихать.
Про простоту NTFS перед фатом... "-А я вам этот фиг вам сейчас нарисую". (там внизу - это чем заполнен текстовик. Т.е нет такого как у FAT что метаданные на отшибе диска, тут вот, метаданные и тут же наполнение файла) Даже если картинку со структурой найти - там все будет просто друг за другом идти: имя, дата создания, изменения и т.п А не как в фате: посреди имени хэш сумма, еще че-то, потом разбиение длинного имени на части, потом указание сколько частей у имени. Короче, геморрой. К тому же у NTFS не надо целый кластер переписывать, можно обратиться к конкретному байту и только его переписать.
0
|
|
|
4083 / 2681 / 432
Регистрация: 09.09.2017
Сообщений: 11,922
|
|||||
| 28.02.2024, 21:36 | |||||
|
Если интересно, вот краткое описание моих экспериментов с fat16: https://habr.com/ru/articles/654853/ Там есть и про структуру PBR, и про структуру каталогов, имен файлов, даже длинные имена вскользь упомянуты.
0
|
|||||
| 28.02.2024, 21:36 | |
|
Помогаю со студенческими работами здесь
20
Возможно ли спасти данные, которые остались на жестком диске? Я, кажется, удалил все разделы на жестком диске, как теперь достать данные? Как защитить и зашифровать данные на жестком диске с Windows 2000 и Windows 98?
Как перезаписывать данные из таблицы №1 в таблицу №2? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|