Кто-то использовал мой USB-накопитель, и, вернув его мне, я обнаружил, autorun.inf
что это невозможно удалить. Я попытался изменить атрибут файла, который является только H (даже не установлен как системный файл), но он продолжает говорить, что доступ запрещен.
USB установлен на FAT32, спросив моего друга, он сказал мне, что использует Panda USB Vaccine
Как они это делают? Я пытаюсь использовать редактор Disk Sector, но понятия не имею, какой шестнадцатеричный файл они изменяют, чтобы создать такой файл и сделать его снова удаляемым. Форматирование диска удаляет его, но мне интересно, как можно установить такие атрибуты файла.
windows
filesystems
fat32
file-attributes
MegaNairda
источник
источник
Ответы:
Метод испытания
Панда, похоже, не раскрывает точного механизма своей «вакцины», что понятно, поскольку в основном это безопасность через мрак . Если вы знаете, как это работает, вы можете обратить вспять эффект, и «вакцина» станет бесполезной.
Я скачал и установил Panda USB Vaccine и «привил» мою флешку, сбросил раздел флешки с dd для windows с помощью команд
где
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
GUID, предоставленный первой командой, открытыйc:\vaccinated.img
в шестнадцатеричном редакторе и найденныйAUTORUN
.Что делает USB Vaccine
Запись для
AUTORUN.INF
начинается со следующих двенадцати байтов:Первые одиннадцать байтов - это просто 8.3 имя файла :
AUTORUN INF
Последний байт определяет атрибуты файла, а его двоичное представление:
В соответствии со спецификацией файловой системы Microsoft EFI FAT32 этот последний байт является битовым полем, которое принимает следующую форму:
где биты
A
,D
,V
,S
,H
иR
являются ,1
если и только если файл находится в архиве, каталог, идентификатор тома 1 , системный файл, скрытый или только для чтения.AUTORUN.INF
скрыт, посколькуH
установлен в1
.Биты
X
иY
зарезервированы, и оба должны быть0
. Тем не менее, USB Vaccine устанавливаетY
в1
.Что говорится в спецификации
Кроме того, он рекомендует для проверки содержимого каталога:
Что на самом деле происходит
CHKDSK определенно следует спецификации и игнорирует
AUTORUN.INF
запись, которую драйвер FAT32 не понимает, но сама Windows, похоже, не соответствует требованию спецификации никогда больше не смотреть на зарезервированные биты : любой вид доступа (кроме перечисления файла и его атрибуты) отрицается.Например, команда
утверждает, что владельцем
AUTORUN.INF
является...
. Поскольку FAT32 не поддерживает владение файлами, оно должно указывать\All
.Причиной такого неожиданного поведения является то, что, согласно FAT32 - записи в каталоге Wikipedia # , Windows использует бит
Y
внутри для обозначения имени символьного устройства (CON, PRN, AUX, CLOCK $, NUL, LPT1, COM1 и т. Д.) И это не должно присутствовать на устройствах хранения. 2В некотором смысле, USB Vaccine обманывает Windows, полагая, что
AUTORUN.INF
это не фактический файл, а устройство, которое он не может читать или записывать.Как удалить файл
Если у вас есть прямой доступ к файловой системе, достаточно , чтобы установить ,
Y
чтобы0
(изменить байты42
в02
) , чтобы сделать файл нестираемым снова. Вы также можете установить первый байт записи каталогаE5
, отметив файл как удаленный. 3Другой вариант - использовать другой драйвер. Ubuntu 12.04, например, может удалить файл без проблем. На самом деле, он автоматически «исправляет» запись каталога при ее чтении. 4
1 Этот атрибут используется, например, для метки тома или папки System Volume Information .
2 Конечно, установка
X
на1
, кажется, не имеет никакого эффекта.3 Я проверил это, изменив соответствующие байты
C:\vaccinated.img
с помощью шестнадцатеричного редактора и записав измененное изображение на флэш-накопитель, используя следующую команду:4 Хотя это явное отклонение от спецификации, оно кажется продуманным. Ubuntu оставляет
X
нетронутым, если он установлен1
, так как он не причиняет вреда. УстановкаY
бита1
может быть легко использована злонамеренным приложением, например, путем создания файла, который может быть удален и который занимает все свободное место на диске.источник
Это хитрая хитрость файловой системы, которая использует зарезервированное имя в пространстве имен Win32. Подробности того, как Panda USB Vaccine делает это, изложены здесь .
По сути, программное обеспечение создает папку с именем
autorun.inf
(что предотвращает создание файла с таким же именем), а затем в этой папке создается файл с именемLTP1
. В DOSLPT1
относится к порту принтера, и Windows поддерживает это для обратной совместимости. Поэтому, когда вы запрашиваете файл с именемLPT1
, Windows пытается открыть порт принтера, и каким-то образом это препятствует нормальному удалению папки.Что касается того, как удалить папку / файл без форматирования диска, эта статья базы знаний Microsoft дает несколько советов:
источник
AUTORUN.INF
(с той же строкой "caacaa ...", упомянутой в статье) на диске, а затем быстро замерзает. У меня нет проблем с удалением файла автозапуска вообще ...I:\autorun.inf\bdsanitize#\bdsanitize#...
где#
«1» или «2». К файлу журнала также добавляется файл / dirname каждого уровня с помощью.dir
или,.file
но это может быть просто показано для целей ведения журнала / отладки.autorun.inf
но после этого она будет замененаautorun.inf
файлом . Разница сautorun.inf
Panda USB Vaccine заключается в том, что файл пуст и не содержитcacaca
того, который был создан Panda.