![]() |
Anti AutoRUN для флешек в FAT32
Anti AutoRUN для флешек в FAT32
Прочитал вот коменты к статейке https://forum.antichat.ru/threadnav52056-3-10.html Понравился метод связанный с установкой атрибута файлу 0x40 в FAT32 и вот было по быстренькому реализовано ПО. Возможности: 1) получение буквы диска из командной строки или ввод вручную 2) Поддержка только FAT32 (а больше и не надо) 3) определение файловой системы (чтобы случайно не попортить другую ФС) 4) автоматически создает файл autorun.inf 5) Лочит и унлочит файл autorun.inf Алгоритм работы: 1) Если буква диска не передана через командную строку, то попросит её ввести 2) Получит тип файловой системы на этом диске 3) Если файловая система не FAT32 то завершит работу 4) создаст файл autorun.inf 5) откроет диск на чтение/запись 6) будит читать по 2 килобайта пока ненайдет текст AUTORUN INF или не будет достигнут конец флешки. По хорошему нужно было бы брать из бутсектора номер кластера где находится корневой каталог, затем искать где этот кластер физически находится на флешке и далее начинать парсить записи FAT( но увы было очень влом это делать ))). 7) Если нашел файл AUTORUN INF то: Если он залочен, то разлочит Если разлочен, то залочит А вот и непосредственно исходник. Ко/v\пилится в VC++ 6.0 без проблем (писался в нем) Код:
#include "windows.h"1) Вы используете прожку на свой страх и риск и я не отвечаю за то, что хз по какой причине у вас могут быть повреждены данные на флешке. 2) Как видно запись в FAT ищется банальным перебором, так что могут быть ошибки, когда случайно будет найден нужный текст но в другом месте P.S. Тестил на двух флешках - вроде норм работает. (C) SLESH 2009 |
Вложений: 1
Для тех у кого нету компилятора или влом компилить, вот уже откомпилинная версия.
|
Ну надо по умному ) чтобы правильно файл искало ) недавича мучался с FAT12
время будет может сделаю хотя вот тут есть готовые примеры FAT 12, поиск файла еще помню есть PDF на статью в журнале системный администратор там под UNIX описаны примеры на Си чтения, записи, удаления во всх FAT (12,16,32) сцылку чет не нашел... |
| Время: 13:25 |