2010-11-18 4 views
0

Возможно ли читать/записывать/записывать прошивку HDD/USB через управляемый код (C#)? Мне нужно иметь возможность проверить серийный номер, версию прошивки и т. Д. И иметь возможность их изменять.Прочитать прошивку физического устройства

Если я не могу сделать это на C#, есть ли неуправляемый импорт, который я могу позвонить, чтобы помочь выполнить это?

+0

Ваш вопрос является слишком широким. Вы спрашиваете о жестких дисках? USB-устройства? Какие устройства USB? – Brad

+0

Любое физическое устройство. USB-накопитель, внешний жесткий диск, внутренний жесткий диск и т. Д. – Eaton

+0

Невозможно. Вы знаете, что не все устройства могут обновить прошивку, верно? И затем, многие другие требуют внешнего оборудования для их flash. – Brad

ответ

1

Это устройство, а не только для класса устройств. Не то, что вы можете сделать.

Если вам нужна только информация о жестком диске, многие из них предоставляются с использованием SMART. Существует около sample unmanaged code, что может помочь вам начать работу. Он также может быть доступен в WMI, но я не смотрел.

+0

Я видел приложения, которые могут изменять прошивку. Но один из них был 16 бит и требовал, чтобы жесткий диск подключался к порту SATA. – Eaton

+0

Конечно, есть приложения, которые делают это, но опять же они * специфичны для устройства *. Я говорю, что вы пытаетесь сделать (родовое программное обеспечение) невозможно. – Brad

+0

Спасибо. Они также выглядят довольно полезными: http://www.codeproject.com/KB/cs/hard_disk_serialno.aspx и http://www.codeproject.com/KB/mcpp/DriveInfoEx.aspx?fid=371167&df=90&mpp=25&noise= 3 и сортировки = Позиция и вид = Быстрый и выберите = 2787288 – Eaton

2

Я понимаю, что это 5-летний вопрос, но ради того, чтобы получить другой ответ, вот реплика github от @adamcaudill, реализующая сбрасывание и впрыскивание прошивки из C#/pinvoke. Да, это устройство специфична, но ответить на этот вопрос, кажется, возможно, как только вы знаете свои особенности устройства ...

https://github.com/adamcaudill/Psychson

Это хранилище содержит следующие пункты:

Drivecom - ПК Приложение C# для связи с дисками Phison.

EmbedPayload - Приложение для ПК C# для вставки Rubber Ducky ключей сценария inject.bin в пользовательскую прошивку для выполнения на диске.

Инжектор - приложение ПК C# для извлечения адресов/приравнивается к прошивке, а также вставляет исправление кода в прошивку. прошивки - это 8051 Кастом прошивка написана на C.

патч - это коллекция 8051 код патч написан на C.

Смежные вопросы