
Быстрый поиск
Введите фрагмент названия статьи для поиска
Прямой доступ к диску для записи в Windows 7
05.03.2010 | Категория: Темная сторона Силы | Автор: ManHunter

Прямой доступ к диску для записи в Windows 7
При разработке программы для защиты флешек от вирусов возникла необходимость записи секторов напрямую на диск. Прямой доступ к диску осуществлялся через функцию CreateFile. Под Windows XP все работало нормально, а под Windows 7 при попытке записи сектора возвращалась ошибка Access Denied, при том, что при открытии диска на запись никаких ошибок не возникало. После длительных поисков причины было выяснено следующее: еще в самом начале разработки в Windows 7 была обнаружена критическая уязвимость. Если не вдаваться в нудные технические подробности, то смысл ее заключался в том, что злоумышленник мог открыть системный диск напрямую для записи и поместить любой злонамеренный код в файл подкачки. В Microsoft решили проблему с присущей им дубовой прямолинейностью - просто взяли и запретили прямую запись на диски. Но поскольку нельзя, но было очень нужно, то способ обхода защиты нашелся очень быстро. Оказывается, что запись на диски запрещена не полностью, система разрешает записывать данные в нулевую дорожку диска и в неразмеченные области. Такое поведение вполне объяснимо: надо же как-то форматировать диски штатными средствами без дополнительных танцев с бубнами. Значит для того, чтобы система разрешила запись в произвольное место диска, она сперва должна определить его как неразмеченный. А это достигается уничтожением нулевого сектора диска перед записью. Естественно, что перед уничтожением надо сохранить все данные из нулевого сектора в сухом прохладном месте, а потом вернуть их обратно.
Порядок действий следующий: открыть диск для чтения-записи, попробовать записать нужный сектор. Если произошла ошибка Access Denied, то надо прочитать нулевой сектор, записать вместо него нули, после этого обязательно закрыть диск. Это нужно, чтобы система при повторном обращении посчитала диск неразмеченным и разрешила запись в любой сектор. Затем снова открываем диск для чтения-записи. После записи нужных данных восстанавливаем нулевой сектор и закрываем диск. Все, наша задача выполнена, данные записаны, система спокойна. У этого способа есть и минусы. Так, если работа вашей программы по какой-то причине завершилась аварийно до момента, когда она восстановила нулевую дорожку, то данные на диске могут стать недоступны или вообще потеряться. Способ проверен и хорошо работает на съемных дисках с файловой системой FAT/FAT32, на стационарных жестких дисках и других файловых системах я его не проверял.
Читать статью целиком »
Просмотров: 17405 | Комментариев: 9
Flash Drive Protector 1.0
29.09.2009 | Категория: Мои программы | Автор: ManHunter

Скриншот программы Flash Drive Protector
Flash Drive Protector - это программа для защиты флешек от вирусов. Сперва немного теории. Обычно вирусы распространяются через флешки, записывая на них свой главный исполняемый файл и специальный файл с именем autorun.inf. Если такую зараженную флешку подключить к компьютеру, где не отключен автозапуск, то система обработает файл autorun.inf и запустит вирус на выполнение. Для противодействия этому был придуман следующий хитрый трюк: на флешке создается каталог с именем "autorun.inf", и получается, что теперь на ней нельзя создать одноименный файл. Но вирусы научились обходить такую защиту, просто удаляя этот каталог со всеми вложенными файлами. Следующим витком противодействия вирусам стало создание внутри папки autorun.inf файлов со служебными именами типа CON, LPT3 и т.п., из-за этого каталог с такими "кривыми" файлами обычными средствами системы удалить не получится. Вирусы быстро научились обходить и эту защиту, просто переименовывая папку вместе со всем содержимым или удаляя ее через вспомогательный командный файл.
Я написал программу Flash Drive Protector, которая также создает на флешке каталог autorun.inf, но защищает его на уровне файловой системы. Теперь этот каталог невозможно удалить или переименовать всеми известными способами, а чтобы его стереть придется форматировать флешку или же записывать изменения напрямую на диск. Я сильно сомневаюсь, что вирусописатели в ближайшем будущем дорастут до такого уровня.
Читать статью целиком »
Просмотров: 34763 | Комментариев: 58


