На флешке создается файл или каталог с названием AUTORUN.INF, и с помощью WinHex этому файлу или каталогу выставляется недопустимый атрибут.
File attributes:
ATTR_READ_ONLY 0x01
ATTR_HIDDEN 0x02
ATTR_SYSTEM 0x04
ATTR_VOLUME_ID 0x08
ATTR_DIRECTORY 0x10
ATTR_ARCHIVE 0x20
ATTR_LONG_NAME ATTR_READ_ONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID
The upper two bits of the attribute byte are reserved and should always be set to 0 when a file is created and never modified or looked at after that.
Ещё есть вариант в котором предлагалось поставить два верхних бита не в 0, а в 1.
Байт атрибутов получался таким: 0xF7 (ATTR_ARCHIVE+ATTR_DIRECTORY+ATTR_SYSTEM+ATTR_HIDDEN+ATTR_READ_ONLY+два старших бита 11).
Еще предлагались возможные варианты в виде 0xC7, 0xD7, 0xE7.
Я протестировал метод — он оказался рабочим!
AUTORUN.INF с присвоенным таким образом атрибутом, невозможно было открыть, переименовать и модифицировать, а сам файл выполнялся системой.
Если хочешь свою флешку защитить и не париться с хекс редактором, можешь вот этой утилиткой воспользоваться:
http://research.pandasecurity.com/archive/Panda-USB-and-AutoRun-Vaccine.aspx