Добрый день, уважаемое сообщество.
Имею опыт восстановления нескольких USB-flash накопителей (флэшек), но вот захотелось более глубоко вникнуть в суть вопроса:
Что происходит, когда, используя специализированные утилиты, перепрошиваю и форматирую флэшку?Зачем мне это надо? - у меня есть софт, который привязывается к накопителю: жесткому диску или флэшке. При выходе из строя диска, слетает лицензия и тогда есть два выхода: покупать новую лицензию, привязывая ее к новому накопителю или выслать разработчику сгоревший диск, тогда можно получить бесплатно лицензию для другого накопителя. Оба способа, как вы понимаете, не очень удобны. Без всякого злого умысла, исключительно для себя хотел сделать следующее: взять две одинаковые флэшки, низкоуровневым форматированием выставить им одинаковый серийный номер и, таким образом, всегда иметь резерв очень важного лицензионного ПО на случай выхода из строя одной флэшки.
Что я пробовал делать?1. Установил ПО на флэшку. ПО сгенерировало SoftwareID (к которому и привязывается лицензия).
2. Низкоуровневым форматированием с перепрошивкой сменил серийный номер флэшки, все остальные параметры (в настройке программы) оставил без изменения. Переустановил ПО и получил новый SoftwareID, что, собственно, и ожидалось.
3.Следующим этапом вновь выполняю низкоуровневое форматирование с перепрошивкой и возвращаю флэшке первоначальный серийный номер. Устанавливаю ПО и получаю новый SoftwareID, отличный от первого и второго...
С чем работал?
Флэшка SP 4GB на контроллере sm3257enaa
(кстати, после перепрошивки флэшка стала 8 ГБ без битых секторов - прекрасно работает видимо, производителю проще "залочить" 4 ГБ из 8-ми, чтобы получить необходимый на рынке продукт, чем запускать отдельный производственный процесс).
Программа для перепрошивки smi_mptool_v2.5.18_v1_m0503_3257enaa
Мои соображения на этот счет:Флэшка состоит из двух основных компонентов: контроллера и микросхемы памяти. Перепрошивая, мы перезаписываем новую микропрограмму в контроллер, при этом могут меняются параметры: серийный номер, тип флэшки, атрибут "только чтение" и т.п. (
где на флэшке хранятся эти данные? какие еще ключевые параметры меняются, от которых может зависеть генерация SoftwareID?) При низкоуровневом форматировании мы можем изменить размер флэшки, разбить ее на разделы и т.п.
Вот например выполнив несколько раз перепрошивку флэшки я получал следующие параметры:
Иногда меняется значение параметра Bad, при очередном форматировании оно может как возрастать на несколько единиц, так и уменьшаться (
что это за параметр? - реально битых секторов, как я уже сказал, на флэшке нет). Несмотря на то, что все остальные параметры не меняются, SoftwareID при этом менялся. Хотя просто при переустановке ПО и/или при форматировании флэшки средствами винды, акрониса и т.п. ID не меняется. Почему так происходит?
PS думаю, тема будет интересна и, возможно, полезна многим.