Итак, я открывал USB-накопители раньше и понимаю, что они используют общие микроконтроллеры для управления флэш-памятью NAND. Я думал, что если бы их можно было перепрограммировать, чтобы они говорили, запускать приложение при вставке в USB-порт, тогда это могло бы быть полезно для множества приложений (например, для автоматического копирования файлов). Я понимаю, что разные микроконтроллеры могут использовать/не использовать совершенно разные ASM-коды, но существует также проблема того, как с ними вообще общаться (то есть протокол и тому подобное). Возможно ли это? Я слышал о таких вещах, как MP Tools, которые (теоретически) могут низкоуровнево форматировать и сбрасывать диск до заводских настроек по умолчанию, но не могут редактировать какой-либо код, используемый на нем.
Есть ли способ перепрограммировать микроконтроллер USB-накопителя?
Ответы (2)
Я думал, что если бы их можно было перепрограммировать, чтобы они говорили, запускать приложение при вставке в USB-порт, тогда это могло бы быть полезно для множества приложений (например, для автоматического копирования файлов).
Вы ошибаетесь. Когда вы перепрограммируете микроконтроллер флэш-памяти USB, вы запускаете программу внутри флэш-памяти USB. Вы НЕ заставляете какую-либо программу работать на главном процессоре компьютера. Процессор USB-накопителя взаимодействует с главным компьютером только в ответ на транзакции USB, инициированные хост-контроллером USB на главном компьютере, который находится под управлением ОС.
По сути, ваши возможности ограничены изменением типа USB-устройства, о котором сообщается (массовое запоминающее устройство, создание образов, сеть или...), и изменением содержимого данных, возвращаемых при чтении компьютером данных с USB-накопителя.
Нет. Большинство контроллеров, используемых во флэш-накопителях USB, нельзя перепрограммировать, или некоторые или все контакты, необходимые для их перепрограммирования, не доступны.
Открытие приложения при вставленном диске — это поведение, являющееся частью Windows; это вызвано наличием файла (autorun.ini
) на диске с определенным содержимым.