Remkomplekty.ru

IT Новости из мира ПК
4 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Получение информации о флешке

Восстановление флешки: определение контроллера, прошивка флешки

Здравствуйте!

Если ваша флешка стала постоянно сбоить: не форматируется, при подключении к компьютеру — тот часто подвисает, при копировании файлов на нее — вылетают ошибки, но она не подвергалась механическому воздействию — ШАНСЫ на восстановление ее работоспособности есть! 👌

Хорошо бы, если при подключении флешки — она хоть как-то определялась, например, Windows издавала звук подключения, накопитель отображался в «моем компьютере», и на его корпусе моргал светодиод.

Если компьютер совсем не видит флешку и никак не реагирует на нее, то сначала рекомендую ознакомиться вот с этой статьей

Вообще, дать универсальную инструкцию, как и какой программой что делать, чтобы восстановить флешку — невозможно! Но я в этой небольшой статье попытаюсь дать алгоритм, который поможет, даже начинающим пользователям, разобраться с проблемой и решить ее.

Восстановление работоспособности флешки: по шагам

Определение модели контроллера флешки

Оказалась по воле судьбы у меня одна флешка, которую Windows отказывалась форматировать — вылетала ошибка «Windows не удается завершить форматирование».

Флешка, по заверениям владельца, не падала, в нее не проникала влага, да и вообще, с ней довольно бережно обращались.

Всё, что было ясно (по ее виду) : что это флешка от SmartBuy, и она на 16 GB (фото ниже). При подключении к ПК — загорался светодиод, флешка определялась и была видна в проводнике, но работала со сбоями.

SmartBuy 16 GB — «подопытная» не работающая флешка

Способ 1: с помощью спец. утилиты

Чтобы восстановить нормальную работу флешки , необходимо перепрошить микросхему контроллера. Делается это специальными утилитами, и для каждого типа контроллера — своя утилита!

Если утилита будет выбрана неверно, то с высокой долей вероятности, вы испортите флешку на всегда! Скажу даже больше, у одного модельного ряда флешек — могут быть разные контроллеры!

У каждого устройства есть свои уникальные идентификационные номера — VID и PID , и флешка здесь не исключение. Чтобы выбрать правильно утилиту для перепрошивки — необходимо определить эти идентификационные номера (а по ним модель контроллера) .

  1. VID — идентификатор производителя контроллера;
  2. PID — идентификатор устройства.

Один из самых простых способов узнать VID, PID, и модель контроллера флешки — это использовать специальные утилиты. Одна из лучших в своем роде — это Flash Drive Information Extractor .

Flash Drive Information Extractor

Небольшая бесплатная утилита, для получения максимум информации о флешке. Устанавливать ее не нужно!

Программа определит модель USB-флешки, модель и тип памяти (поддерживаются все современные флешки, по крайней мере, от нормальных производителей 😎) .

Программа будет работать даже в тех случаях, когда не определяется файловая система флешки, когда завис компьютер при подключении носителя.

  • модель контроллера;
  • возможные варианты установленных во флешке чипов памяти;
  • тип установленной памяти;
  • заявленный производителем максимальный потребляемый ток;
  • версия USB;
  • полный физический объем диска;
  • объем диска, сообщаемый операционной системой;
  • VID и PID;
  • Query Vendor ID;
  • Query Product ID;
  • Query Product Revision;
  • Controller Revision;
  • Flash ID (не для всех конфигураций);
  • Chip F/W (для некоторых контроллеров) и др.

Важно! Программа работает только с USB-флешками. MP3-плееры, телефоны и прочие устройства — она не распознает. Желательно, перед запуском программы, оставить подключенной к USB-портам только одну единственную флешку, с которой вы хотите получить максимум информации.

👉 Работа с Flash Drive Information Extractor
  1. Отключаем от USB-портов все, что подключено (по крайней мере все накопители: плееры, внешние жесткие диски и т.д.) .
  2. Вставляем ремонтируемую флешку в USB-порт;
  3. Запускаем программу;
  4. Жмем кнопку «Получить информацию о флешке» ;
  5. Через некоторое время получаем максимум информации о накопителе (см. скриншот ниже) .
  6. Если программа зависла: ничего не делайте и не закрывайте ее. Выньте флешку через пару минут из USB-порта, программа должна «отвиснуть», и вы увидите всю информацию, что она успела вытащить с флешки.

Flash Drive Information — VID и PID флешки

Теперь мы знаем информацию о флешке и можем приступить к поиску утилиты.

Информация о флешке:

  • VID: 13FE; PID: 4200;
  • Модель контроллера (Controller): Phison 2251-68 (вторая строка на скриншоте выше) ;
  • SmartBuy 16 GB.

Способ 2: визуальный осмотр контроллера

Определить достоверно модель контроллера можно, если разобрать флешку. Правда, не каждый корпус у флешки разборный, и не каждую потом соберешь обратно ☝.

Обычно, чтобы вскрыть корпус флешки, нужен нож и отвертка. При вскрытии корпуса будьте аккуратны, чтобы не повредить внутренности флешки. Пример контроллера показан на скрине ниже.

Разобранная флешка. Модель контроллера: VLI VL751-Q8

Способ 3: через диспетчер устройств

Узнать VID и PID флешки можно с помощью диспетчера устройств (в этом случае — ничего и устанавливать не нужно) .

Правда в этом случае мы не узнаем модель контроллера, и есть некоторый риск, что по VID и PID не получится точно идентифицировать контроллер. И тем не менее, вдруг вышеприведенная утилита зависнет и не даст вообще никакой информации 👇.

  1. Сначала вставляем флешку в USB-порт;
  2. Далее запускаем диспетчер устройств : нажмите сочетание кнопок WIN+R , в строку «Открыть» введите команду devmgmt.msc , нажмите OK (скрин ниже в качестве примера) .

Как запустить диспетчер устройств

  • В диспетчере устройств откройте вкладку «Контроллеры USB» , а в ней найдите строку «Запоминающее устройство USB» — перейдите в его свойства .
  • Далее нужно открыть вкладку «Сведения» , выбрать свойство «ИД оборудования» , и вы увидите VID и PID флешки (стрелка 5 на скриншоте ниже) .

    Определение VID и PID флешки через диспетчер устройств

    Вот, собственно, и все — будем считать, что модель контроллера мы все-таки определили.

    Как найти утилиту для прошивки флешки

    Важно! После прошивки флешки — вся информация на ней будет удалена!

    1) Зная модель контроллера — можно просто воспользоваться поисковиками (Google, Яндекс например) и найти нужное.

    2) Но я рекомендую, сначала попытаться найти утилиту на сайте http://flashboot.ru/iflash/ .

    Алгоритм работы такой:

    1. Заходим на сайт: http://flashboot.ru/iflash/
    2. Вводим свои VID и PID в строку поиска и ищем;
    3. В списке результатов, скорее всего, вы найдете десятки строк. Среди них нужно найти такую строку, у которой совпадет: модель контроллера, ваш производитель, VID и PID, размер флешки .
    4. Далее в последней колонке — вы и увидите рекомендуемую утилиту. Кстати, обратите внимание, версия утилиты так же имеет значение! Осталось только скачать найденную утилиту и применить ее.

    Поиск утилиты для восстановления флешки

    После того, как найдете и загрузите искомую утилиту — останется только нажать одну кнопку «Restore» (по крайней мере, так было в моем случае 👌) .

    Formatter Silicon Power v3.13.0.0 / Format and Restore. Утилита конечного пользователя, предназначенная, как для низкоуровневого, так и высокоуровневого (FAT32) форматирования флэшек на контроллерах фирмы Phison линейки PS2251-XX.

    Спустя пару минут моргания светодиода на флешке, она стала нормально работать, сообщения от Windows о невозможности форматирования — больше не появлялись.

    Итог: флешка была восстановлена (стала рабочей на 100%), и отдана владельцу ✌.

    На этом, собственно, всё. За дополнения по теме — буду признателен.

    Первая публикация: 18.12.2016

    • ВидеоМОНТАЖ
      Отличное ПО для начала создания своих собственных видеороликов (все действия идут по шагам!).
      Видео сделает даже новичок!
    • Ускоритель компьютера
      Программа для очистки Windows от мусора (ускоряет систему, удаляет мусор, оптимизирует реестр).

    У меня компьютер легко стирает Vid Pid, и не только на флешках, но и на других устройствах FTDI, Pic18F4550, и так далее. После ПК даже ноутбук эти устройства не определяет и не восстанавливает. Любой USB адаптер в один прекрасный момент ПК может записать в 0000. Я и систему перестанавливал, и все дополнительные платы вытащил, бесполезно.
    Вопрос: можно ли какой ни-будь программой выбрать Unknown Device и записать данные, чтобы определить устройство.
    Если есть такие программы, скиньте ссылку. Спасибо.

    Большое спасибо. При записи фильмов нечаянно скопировала их в системную папку флешки и никак не удавалось их оттуда удалить. После форматирования флешки в компьютере DVD-плеер перестал её видеть. Сделала всё, как написано в статье — заработало!

    Спасибо огромное. Все сделал как тут описано и флэш заработала.
    Кстати вид и пид оказались точно такими же как в статье и утилита соответственно эта подошла! :)))

    Добрый день. Были куплены две одинаковые (производитель, модель, объём) флешки. У одной скорость записи 15-16 мб/с, а у второй 5-7 мб/с.

    Быстрая:
    Controller: Phison PS2307
    Possible Memory Chip(s):
    Hynix H27UCG8T2A
    Hynix H27UCG8T2ATR
    Hynix H27UCG8T2ATRx2
    Memory Type: MLC
    Flash ID: ADDE94DA 74C4
    Chip F/W: 01.04.10
    Firmware Date: 2014-03-20
    ID_BLK Ver.: 1.2.71.0
    MP Ver.: MPALL v3.30.0A
    VID: 0951
    PID: 1666
    Manufacturer: Kingston
    Product: DataTraveler 3.0
    Query Vendor ID: Kingston
    Query Product ID: DataTraveler 3.0
    Query Product Revision: PMAP
    Physical Disk Capacity: 15728640000 Bytes
    Windows Disk Capacity: 15728635904 Bytes
    Internal Tags: 2Q6P-SX5Q
    File System: NTFS
    USB Version: 3.00 in 2.00 port
    Declared Power: 300 mA
    ContMeas ID: 32ED-01-00

    Медленная:
    Controller: Phison PS2307
    Possible Memory Chip(s):
    Toshiba TC58NVG7T2JTA00
    Toshiba TC58TEG7T2JTA00
    Memory Type: TLC
    Flash ID: 983AA892 7650
    Chip F/W: 01.02.53
    Firmware Date: 2014-03-05
    ID_BLK Ver.: 1.2.68.0
    MP Ver.: MPALL v3.30.00
    VID: 0951
    PID: 1666
    Manufacturer: Kingston
    Product: DataTraveler 3.0
    Query Vendor ID: Kingston
    Query Product ID: DataTraveler 3.0
    Query Product Revision: PMAP
    Physical Disk Capacity: 15733161984 Bytes
    Windows Disk Capacity: 15733157888 Bytes
    Internal Tags: 2Q6P-8768
    File System: NTFS
    USB Version: 3.00 in 2.00 port
    Declared Power: 498 mA
    ContMeas ID: 32ED-02-00

    Одинаковые контроллёры, но разные чипы памяти.
    Скажите, есть ли способы увеличить скорость записи у «медленной»?

    Восстановление и прошивка флешки по VID и PID

    Иногда у флешек бывают сбои в работе. Разберем таковые на логическом уровне. Возможны следующие варианты неполадок:

    • не читается;
    • подвисает;
    • при переносе данных происходят ошибки и т. п.

    Такого рода неполадки исправимы, их можно устранить перепрограммированием контроллера.

    Что такое VID и PID флешки

    Для восстановления флешки необходимо узнать VID и PID код.

    VID и PID – это номер разработчика устройства и номер устройства, соответственно. Идентификаторы дают понимание, какую прошивку нужно использовать. Перепрошивка возобновит функционирование флешки в первоначальном виде.

    Для того чтобы узнать вышеуказанные номера, есть 3 способа:

    1. Вскрыть корпус и посмотреть обозначения на чипе.
    2. Зайти в свойства флешки.
    3. Использовать специальные программы.

    Вариант №1. Осуществляется путем вскрытия пластиковой оболочки флешки. Вариант небезопасен тем, что можно повредить микросхемы, поэтому данный способ рекомендуется использовать в последнюю очередь. После разбора корпуса номер можно увидеть на чипе.

    Вариант №2. Подразумевает использование диспетчера устройств. Порядок действий: «Диспетчер устройств» → «Контроллеры USB» → «Запоминающее устройство USB», кликаем по нему правой кнопкой мышки и в меню выбираем «Свойства» → «Сведения» → «ИД оборудование». Будет написано примерно следующее:

    После VID_ … — четырехзначное цифро-буквенное обозначение, это и есть VID, в нашем случае – 25EN.

    После PID _ … — код PID, его номер будет 2100.

    Вариант №3. Простой и точный, потому что программы разрабатывались специально для определения этих значений. Рассмотрим наиболее популярные и доступные платформы.

    CheckUDisk

    С ней легко разобраться, утилита понятна на интуитивном уровне.

    1. Двойным кликом по ярлыку активируем софт.
    2. Сверху выбираем сломанную флешку.
    3. Внизу прописываются ее свойства. В первых строчках идет VID и PID.

    Flash Drive Information Extractor

    С этой программой вы получаете больше характеристик о вашей флешке, в том числе VID и PID.

    1. Двойным кликом по ярлыку активируем софт.
    2. Кликаем на «Получить информацию о флешке».
    3. Нужная информация прописывается сверху.

    ChipEasy

    Аналогично предыдущим платформам, данные о флеш-носителе предоставляется доступно и понятно. Имеет также простой алгоритм получения кодов.

    1. Двойным кликом по ярлыку активируем софт.
    2. В верхнем окне кликаем по названию флешки.
    3. В нижнем окне будет список, выделяем и копируем строчки с VID и PID.

    USBDeview

    С помощью этой утилиты вы сможете не только узнать идентификаторы, но и посмотреть всю историю когда-либо подключенных USB-устройств к ПК. Софт имеет функцию просмотра информации об этих девайсах.

    1. Двойным кликом по ярлыку активируем софт.
    2. Для нахождения нужной флешки из перечня всех устройств переходим во вкладку «Опции» и удаляем галочку «Показать отключенные устройства».
    3. После предыдущего шага список гаджетов уменьшится, и найти флешку будет легко. Нажимаем на название, появится описание флешки. Нужна строчка со значениями VendorID и ProductID, – это все те же требуемые коды для восстановления, копируем их.

    Инструкция по подбору утилиты для прошивки

    Теперь, имея идентификационный номер производителя (VID) и кода устройства (PID), переходим к подбору прошивки. С их помощью подберем софт для контроллера. На данный момент есть различные интернет-ресурсы со списками флешок, где прописан софт, пригодный для их прошивки.

    • Можно воспользоваться базой данных flashboot.ru:
    • Вкладка «iFlash», в ячейках VID и PID вводим ранее определенные цифры. По результату поиска получаем список сходных флешок.
    • Выбираем наиболее совпадающую по имени, модели и объему. В столбике «UTILS» будет название утилиты, с помощью которой возможна перепрошивка флешки.
    • Копируем наименование и на этой же странице вверху нажимаем вкладку «Файлы». В поисковом поле вставляем название, нажимаем «Поиск». Если в базе есть нужная перепрошивка, то справа от наименования нажимаем «Скачать».
    • Если не нашли, можно воспользоваться поисковой системой и найти программу на любом другом подобном ресурсе. Также скачиваем на свой ПК.

    Помните, что перед установкой или разархивацией скачанной утилиты обязательно нужно проверить программу на наличие вредоносных, в том числе рекламных, файлов.

    Инструкция по прошивке флешки

    Перед началом прошивки отключите флешку. Разархивируйте скачанный софт. Изучите вложения в папке под названием readme.txt. В этом файле прописываются инструкции по использованию платформы, либо информация о том, где эту инструкцию можно скачать. Запускаем .exe файл.

    Подключаем флешку. Софт идентифицирует ее и появится название. После запуска утилиты нажимаем «Start» и процесс перепрошивки будет запущен.

    Важно! В этот момент нельзя ни в коем случае извлекать флешку.

    После окончания процесса, система предложит форматирование съемного накопителя, но следует для начала переподключить его. Далее Windows установит драйвер, теперь можно отформатировать флешку.

    Средства для определения VID и PID флешки

    USB-флешки – устройства надежные, но риск поломки есть всегда. Причиной тому может быть некорректная работа, сбой микропрограммы, неудачное форматирование и так далее. В любом случае, если это не физическое повреждение, можно попытаться ее восстановить программными средствами.

    Проблема в том, что не каждый инструмент подходит для восстановления конкретной флешки, и использование неправильной утилиты может окончательно вывести ее из строя. Но зная VID и PID накопителя, можно определить тип его контроллера и подобрать подходящую программу.

    Как узнать VID и PID флешки

    VID служит для идентификации производителя, PID – идентификатор самого устройства. Соответственно, каждый контроллер на съемном накопителе помечен этими значениями. Правда, некоторые недобросовестные производители могут пренебрегать платной регистрацией ID-номеров и присваивать их просто наугад. Но в основном это касается дешевой китайской продукции.

    Для начала убедитесь, что флешка хоть как-то определяется компьютером: слышен характерный звук при подключении, она видна в списке подключенных устройств, отображается в «Диспетчере задач» (возможно, как неизвестное устройство) и прочее. В противном случае шансов мало не только на определение VID и PID, но и на восстановление носителя.

    ID-номера можно быстро определить с помощью специализированных программ. Как вариант, можно использовать «Диспетчер устройств» или просто разобрать флешку и найти информацию на ее «внутренностях».

    Обратите внимание, что карты MMC, SD, MicroSD не имеют значений VID и PID. Применяя к ним один из способов, Вы получите только идентификаторы кардридера.

    Способ 1: ChipGenius

    Прекрасно считывает основную техническую информацию не только с флешек, но и со многих других устройств. Интересно, что ChipGenius имеет собственную базу VID и PID, чтобы выдать предположительную информацию об устройстве, когда по какой-то причине не удается опросить контроллер.

    Чтобы воспользоваться данной программой, сделайте следующее:

    1. Запустите ее. В верхней части окна выберите флешку.
    2. Снизу напротив значения «USB Device ID» Вы увидите VID и PID.

    Обратите внимание: старые версии программы могут работать некорректно – скачивайте последние (по ссылке выше можно найти именно такую). Также в некоторых случаях она отказывается работать с портами USB 3.0.

    Способ 2: Flash Drive Information Extractor

    Данная программа дает более подробную информацию о накопителе, конечно же, включая VID и PID.

    После того, как Вы загрузили программу, сделайте следующее:

      Запустите ее и нажмите кнопку «Получить информацию о флешке».

  • Нужные идентификаторы будут в первой половине списка. Их можно выделить и скопировать, нажав «CTRL+C».
  • Способ 3: USBDeview

    Основная функция этой программы – отображение списка всех устройств когда-либо подключаемых к данному ПК. Дополнительно можно получить подробную информацию о них.

    Инструкция по использованию заключается в следующем:

    1. Запустите программу.
    2. Для того, чтобы быстрее найти подключенный накопитель, нажмите «Опции» и уберите галочку с пункта «Показывать отключенные устройства».

  • Когда круг поиска сузился, дважды кликните по флешке. В открывшейся таблице обратите внимание на «VendorID» и «ProductID» – это и есть VID и PID. Их значения можно выделить и скопировать («CTRL» + «C»).
  • Способ 4: ChipEasy

    Интуитивно понятная утилита, которая позволяет получить исчерпывающую информацию о флешке.

    После скачивания сделайте вот что:

    1. Запустите программу.
    2. В верхнем поле выберите нужный накопитель.
    3. Ниже Вы увидите все его технические данные. VID и PID находятся во второй строке. Можно их выделить и скопировать («CTRL+C»).

    Способ 5: CheckUDisk

    Простая утилита, которая выводит основную информацию о накопителе.

    1. Запустите программу.
    2. Сверху выберите флешку.
    3. Снизу ознакомьтесь с данными. VID и PID расположены на второй строке.

    Способ 6: Изучение платы

    Когда ни один из способов не помогает, то можно пойти на радикальные меры и вскрыть корпус флешки, если это возможно. VID и PID Вы, может, там и не обнаружите, но маркировка на контроллере имеет такую же ценность. Контроллер – важнейшая часть USB-накопителя, имеет черный цвет и квадратную форму.

    Что делать с этими значениями?

    Теперь можно заняться применением полученной информации и найти эффективную утилиту для работы с Вашей флешкой. Для этого следует использовать онлайн-сервис iFlash, где пользователи сами формируют базу данных таких программ.

      Введите VID и PID в соответствующие поля. Нажмите кнопку «Search».

  • В результатах Вы увидите общую информацию о флешке и ссылки на подходящие утилиты.
  • Способ 7: Свойства устройства

    Не такой практичный метод, но зато можно обойтись без стороннего софта. Он подразумевает следующие действия:

      Перейдите в список устройств, нажмите правой кнопкой по флешке и выберите «Свойства».

    Перейдите во вкладку «Оборудование» и дважды кликните по названию носителя.

  • Перейдите во вкладку «Сведения». В выпадающем списке «Свойство» выберите «ИД оборудования» или «Родитель». В поле «Значение» можно будет разобрать VID и PID.
  • То же самое можно сделать через «Диспетчер устройств»:

      Для его вызова введите devmgmt.msc в окне «Выполнить» («WIN» + «R»).

  • Найдите флешку, кликните по ней правой кнопкой и выберите «Свойства», а дальше все по приведенной выше инструкции.

  • Обратите внимание, что неработающая флешка может отображаться как «Неизвестное USB-устройство».

    Быстрее всего, конечно же, будет использовать одну из рассмотренных утилит. Если обходиться без них, то придется покопаться в свойствах запоминающего устройства. На крайний случай VID и PID всегда можно найти на плате внутри флешки.

    Напоследок скажем, что определение этих параметров будет полезным для выполнения восстановления съемных накопителей. На нашем сайте можно найти подробные инструкции для представителей самых популярных брендов: A-Data, Verbatim, SanDisk, Silicon Power, Kingston, Transcend.

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Это видео недоступно.

    Очередь просмотра

    Очередь

    • Удалить все
    • Отключить

    YouTube Premium

    Вся информации о ваших флешках

    Хотите сохраните это видео?

    • Пожаловаться

    Пожаловаться на видео?

    Выполните вход, чтобы сообщить о неприемлемом контенте.

    Понравилось видео?

    Не понравилось?

    Текст видео

    Чтобы узнать всю информацию о флешках, нужно воспользоваться беcплатной программкой Flash Drive Information Extractor. Программа обладает возможностью определения модели USB контроллера, модели и типа памяти для многих современных USB флешек. Особенность программы в том, что эти данные определяются напрямую, а не угадыванием по косвенным признакам типа VID/PID.

    VID и PID — это уникальные идентификаторы USB устройств.

    • VID — идентификатор производителя
    • PID — идентификатор устройства.

    По значениям VID и PID можно предположительно определить тип контроллера установленного во флешках и производителя устройства.

    Программа сработает даже если отсутствует буква диска флешки (поврежден загрузочный сектор или разрушена файловая система).

    ■ При помощи программы можно получить следующие данные:

    • модель контроллера
    • возможные варианты установленных во флешке чипов памяти
    • тип установленной памяти
    • заявленный производителем максимальный потребляемый ток
    • версия USB
    • полный физический объем диска и объем диска, сообщаемый операционной системой
    • VID и PID
    • Query Vendor ID
    • Query Product ID
    • Query Product Revizion
    • Controller Revision
    • Flash ID (не для всех конфигураций)
    • Chip F/W (для некоторых контроллеров)
    • некоторые другие параметры, полезные для специалистов.

    Программа не требует инсталляции. Скопируйте из ZIP-архива папку с файлами «usbflashinfo» в любое место на жестком диске.

    • Windows 2000/2003/XP/Vista/2008/7/8/10
    • Место на жестком диске: 7 МБ.

    ■ Инструкция по применению :

    1. Вставьте флешку в любой USB порт.
    Не следует подключать две или более флешек, так как будут получены данные только для одной из них.
    2. Запустите Flash Drive Information Extractor (usbflashinfoGetFlashInfo.exe)
    3. Кликните на кнопке «Получить информацию о флешке». Через несколько секунд в окне появится определившаяся информация.
    4. Чтобы повторить измерения, нужно перезапустить программу.

    ► Скачать программу (usbflashinfo.zip):http://bit.ly/2RH6UgG

    Программа работает только с флешками и не реагирует на другие USB устройства, такие как кардридеры (SD карты в любом оформлении), смартфоны, MP3 плееры, фотоаппараты и тому подобные. Иногда кардридеры оформляются в виде флешек (например, некоторые модели Verbatim).
    В этих случаях программа или не отобразит никакой информации, или не определит тип контроллера и чип памяти.

    Узнать серийный номер флешки

    Как-то встала передо мной задача – написать программу-сторож, позволяющую использовать только разрешенные USB-флешки на определенных компьютерах. Привязку решил делать к серийному номеру, а так же VID и PID флешки (Vendor ID и Part ID), что в общем случае можно считать уникальной информацией.

    Я сейчас не рассматриваю способы перепрошивки флешек под произвольный VID, PID, Serial, это всё можно сделать, подобрав соответствующую утилитку под производителя контроллера.

    Итак, нависла задача узнать всю нужную информацию. Сейчас я не буду рассматривать разработку целого приложения, покажу лишь основную функцию. Буду даже рад, если кто-то поможет доработать программу. Да и сам я буду постоянно улучшать и модернизировать этот код.

    Итак, для выбора данных воспользуемся моим любимым WMI (Windows Management Instrumentation). Почему оно мне нравится? Да потому что все работает “из коробки”, не нужно устанавливать дополнительные программы и компоненты и есть множество классов.

    Вот видео по теме:

    Как работать с технологией – посмотрите по тегам WMI, WMIC, а я повествую дальше.

    Выковыривать данные будет из строки идентификатора устройства, которая выглядит как-то так:

    В этой строке есть VID, PID и серийный номер после второй косой черты.

    Важно не перепутать серийный номер флешки и серийный номер тома. Последний (можно получить командой dir) меняется при форматировании флешки и никак не годится для уникальной идентификации.

    Механизм получения серийного номера флешки

    Теперь задача – получить строку эту.

    Средствами WMI мы получаем эту информацию из класса Win32_usbhub , объявленного в пространстве \rootcimv2

    Итак, запускаем командную строку, там программу wmic.

    Пишем там команду выбора поля DeviceID из класса Win32_usbhub . Забегая вперед скажу, что выдастся много устройств (корневые концентраторы, мышь и т.д.,) поэтому я сразу напишу фильтр по запоминающим устройствам.

    wmic:rootcli>path win32_usbhub Where (Caption=»Запоминающее устройство для USB») get DeviceID

    wmic path get where

    Вот и получили наши заветные строки. Парсить их придется уже другими средствами.

    Кстати, вот наработка на Delphi, кому-то может это пригодится.

    unit Unit1;
    interface
    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls;
    type
    TForm1 = class(TForm)
    lst1: TListBox;
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
    private
    < Private declarations >
    public
    < Public declarations >
    end;
    var
    Form1: TForm1;
    implementation
    <$R *.dfm>
    uses ActiveX, ComObj;
    procedure TForm1.btn1Click(Sender: TObject);
    Var Enumerator: IEnumVariant;
    WbemLocator, WbemServices, WbemObjectSet: Variant;
    Properties: IEnumVariant;
    Property_, System: OleVariant;
    j: LongWord;
    sProperty: string;
    VID,PID,Serial: ShortString;
    begin
    lst1.Clear;
    WbemLocator := CreateOleObject(‘WbemScripting.SWbemLocator’);
    WbemServices := WbemLocator.ConnectServer;
    WbemObjectSet := WbemServices.InstancesOf(‘Win32_usbhub‘);
    Enumerator := IEnumVariant(TVarData(WbemObjectSet._NewEnum).VDispatch);
    try
    while Enumerator.Next(1, System, j) = S_OK do
    try
    try
    if (System.Caption <> ‘Запоминающее устройство для USB‘) then Continue;
    except end;
    Properties := IEnumVariant(TVarData(System.Properties_._NewEnum).VDispatch);
    while Properties.Next(1, Property_, j) = S_OK do
    begin
    sProperty := VarToStr(Property_.Value);
    if (Property_.Name = ‘DeviceID’) then
    begin
    VID := Copy(sProperty, Pos(‘VID_’,sProperty)+4,4);
    PID := Copy(sProperty, Pos(‘PID_’,sProperty)+4,4);
    Serial := Copy(sProperty, Pos(‘PID_’,sProperty)+9,Length(sProperty)-Pos(‘PID_’,sProperty)+10);
    if ((Pos(»,Serial) > 0)) then
    Begin
    Serial := Copy(Serial,Pos(»,Serial)+1,Length(Serial)-Pos(»,Serial));
    end;
    lst1.Items.Add(‘VID: ‘+ VID + ‘ PID: ‘ + PID + ‘ SERIAL: ‘ + Serial);
    end;
    end;
    except end;
    except end;
    end;
    end.

    Код, конечно, грубоват, но собран на коленке. Главное – работает. Пользуйтесь, если нужно:

    Delphi

    Скачать проект с исполняемым файлом можно по ссылке

    Таким образом, используя WMI мы получили серийный номер флешки, а так же дополнительную информацию в виде VID и PID.

    А можно ли как-нибудь изменить серийный номер флешки?

    Да, можно. Есть программы-прошивальщики (под каждый чип своя программа), которые можно использовать для изменения серийного номера и VID PID идентификаторов. Например, для чипов Alcor я использую Alcor Change Vid Pid Rework.

    Смена серийного номера флешки Смена серийного номера флешки Смена серийного номера флешки

    Сменить серийный номер флешки несложно. Подключаем флешку, выбираем её в порту в списке. Нажимаем Setup (открывается окно на фотках выше) вводит нужные VID PID и SN и жмём кнопку START. Флешка готова через секунду с новым серийным номером.

    Кстати, я уже писал ранее, как можно отформатировать флешку в ntfs – это может оказаться полезным!

    Друзья! Вступайте в нашу группу Вконтакте, чтобы не пропустить новые статьи! Хотите сказать спасибо? Ставьте Like, делайте репост! Это лучшая награда для меня от вас! Так я узнаю о том, что статьи подобного рода вам интересны и пишу чаще и с большим энтузиазмом!

    Также, подписывайтесь на наш канал в YouTube! Видео выкладываются весьма регулярно и будет здорово увидеть что-то одним из первых!

    Читать еще:  Как исправить фото на компьютере
    Ссылка на основную публикацию
    ВсеИнструменты
    Adblock
    detector
    ×
    ×