Извлечь прошивку из модема
Внимание! Все действия со своим модемом, Вы совершаете на свой страх и риск, я не несу ответственности за порчу вашего модема, вследствие неудачной прошивки.
Перед тем, как приступить к прошивке, УБЕДИТЕСЬ в том, что Ваш модем поддерживает софт HUAWEI Modem . и драйверы, находящиеся в нём. Для этого удалите Ваше приложение для управления модемом с ПК, установите программу (Soft) HUAWEI Modem . на свой компьютер и удостоверьтесь в корректной работе приложения с вашим модемом. Только после проверки на совместимость стоит приступать к обновлению\замене софта в модеме.
Запустите компьютер и подключите к нему модем производства " HUAWEI ", без сим-карты .
В случае, если модем впервые подключен к компьютеру, дождитесь, пока компьютер завершит установку драйверов модема. После установки драйверов и запуска пользовательского интерфейса, закройте его.
Если у вас уже установлена программа управления модемом (пользовательский интерфейс), то перед прошивкой не удаляйте её. Для успешной прошивки, модем должен корректно определятся компьютером.
Запустите программу обновления (Dashboard).
В открывшемся окне, нажмите "Начало".
Будет произведен поиск порта оборудования.
После того как порт оборудования будет найден, начнётся сбор сведений об устройстве.
После корректного определения устройства, автоматически начнётся прошивка.
Внимание. Во избежание серьезных повреждений модема, в течении операции обновления ПО модема запрещается:
1. Выключать компьютер.
2. Извлекать модем из компьютера.
3. Запускать другие программы или приложения.
4. Закрывать программу обновления.
Процедура обновления займет 3-4 минуты.
Дождитесь окончания процедуры обновления, нажмите " Готово ".
Обновление прошивки (Dashboard) выполнено успешно.
После завершения обновления программного обеспечения модема необходимо переустановить программное обеспечение модема на компьютере.
Для этого выполните следующие действия:
1. Отключите модем от компьютера.
2. Деинсталлируйте программное обеспечение модема с компьютера.
3. Перезагрузите компьютер.
4. Подключите модем к компьютеру, установите программное обеспечение модема и продолжите эксплуатацию.
У нас на сайте есть также инструкция по обновления старой прошивки.
Поделится опытом или задать вопрос можно в теме обсуждения .
Внимание! Данная инструкция касается только некоторых аппаратов, приобретенных в Китае и прошитых на русские прошивки ROW-региона!
Общая информация
Из-за особенностей китайской сотовых сетей, мобильные аппараты приобретенные там, ИМЕЮТ АППАРАТНО ИНУЮ модемную часть, отличающуюся от установленной в европейской ROW-версии (России, СНГ и Европа). Как следствие после установки на китайские версии аппаратов ROW-прошивки могут возникать проблемы с отсутствием или плохой работой сотовой связи и передачи данных в сетях 2G/3G/4G.
Причина проблем в том, что ПО модема в ROW-прошивке написано и отлажено на стабильную работу с аппаратным модемом ROW-аппарата и может непредсказуемо работать с аппаратным модемом китайской, индийской и пр. версий железа.
Для исправления ситуации необходимо в ROW-прошивке заменить ПО модуля связи на ПО из китайской прошивки.
Существуют два варианта замены модуля связи. С помощью zip-патча через кастомный recovery и с помощью root-прав и файлового менеджера умеющего работать в root-режиме. Рассмотрим оба варианта.
Замена модема с помощью zip-патча
Замена модема с помощью файлового менеджера
1. Извлечь из прошивки или патча modem.img. Из патча или прошивки в формате zip нет проблем извлечь файл любым архиватором. В прошивке нужно распаковать system.img к примеру с помощью: Средство для работы с прошивками Lenovo под Windows , модем будет находится по пути /system/etc/firmware/modem.img
2. Подключить аппарат к ПК в режиме USB-накопитель или MTP и скопировать modem.img в аппарат в любое удобное для вас место.
3. Получить root-права способом, который описан в подфоруме вашего аппарата.
4. Установить на аппарат файловый менеджер, работающий в root-режиме. Например RootExplorer . Он платный, потому его поиск оставляем на вашей совести. Можете его купить на маркете, можете найти нежадную версию. Есть альтернативы EZ Explorer .
5. Файловым менеджером зайти на накопитель и скопировать modem.img. Долгим нажатием на файл modem.img и в открывшемся меню: Copy (Копировать)
6. Перейти в папку \system\etc\firmware\ и нажать "Mount RW" в правом верхнем углу, затем нажать Paste (Вставить). Программа запросит подтверждение перезаписать файл. Согласится.
7. Долгим нажатием на файл \system\etc\firmware\modem.img вызываем меню и по-очереди изменяем владельца на root,root (0.0) и права на файл rw-rw-r--(644). Подробнее на скринах.
8. Произвести перезагрузку аппарата в обычный режим. Для более стабильного результата рекомендуется сделать сброс на заводские установки .
-
Инструмент для модификации прошивок модемов Huawei
Предлагаю здесь делиться опытом и софтом по ковырянию бинарников и дашбордов модемов\роутеров Huawei
Добавлено 08.05.2016, 20:41:
Начну с себя
Распотрошить запакованную прошивку можно через Huawei Flasher 1.6 в меню Select Firmware-Parse EXE
В результате парсинга прошивки программа выдаст несколько bin-файлов, если WebUI - то будет три файла, 02.bin - Образ ZeroCD, 03.bin - WebUI в формате CPIO-архива. Открыть его можно через 7Zip
Комплект для разборки прошивок
Пользоваться им очень просто.
Нужно всего лишь положить рядом с Run.cmd прошивальщик (EXE) или образ (BIN) прошивки и запустить этот скрипт, после чего в подпапке OUT окажется результат работы.
Комплект для сборки прошивок
А с помощью этих разборщиков/сборщиков прошивок можно IMEI менять в стареньких модемах типа Huawei E1750, E1550, E171?
Если можно то как? Если не можно то чем можно?
rust3028,
ilya-fedin,
Пожалуйста, научи меня, как строить прошивку & WebUI от mtd0 до mtd19
можно с помощью Huawei Flasher.exe
скачать с интернета прошивку для е173 или другого imei-recovery-template-huawei-e173-353237839847796
в файле 08.bin меняем имей на свой и прошиваем флешером не забываем поменять диаг порт в файле ини флешера на тот который будет в довлад моде.
ilya-fedin,
Благодарен вам за поделитесь своими знаниями.
Успешно извлечь прошивку с бен файла в 10 мусорных файлов.
Теперь, пожалуйста, руководство мне несколько вещей, пожалуйста,
1- Как открыть эти файлы буфера в Windows 7, потому что 7zip в состоянии открыть только 09.bin и 10.bin.
2- Как удалить или мод постоянный вариант блокировки от прошивки.
3- Как упакуйте встроенного программного обеспечения.
mnazirk,
1. Используйте Linux, модифицируются обычно только разделы cpio, ну накрайняк можно еще открыть андроидный boot, остальные только дисассемблером (да и толк от них вряд ли будет)
2. Никак, это не в прошивке
3. Я же привел инструкцию выше, чего все переспрашивают?
Всем привет. Подскажите правлю webUI, после сборки прошивки командой flasher.cmd, создается файл с прошивкой, но при попытке прошить выводит
Поиск файлов-образов разделов.
Для начала нам нужно перевести модем в режим USB-загрузки. Для этого разбираем модем (БЕЗ РАЗБОРКИ), и находим под разъемом сим-карты набор технологических контактных площадок. Для модема Е3372S он будет выглядеть так:
Внимательно смотрим на эту картинку
Вникаем какой пин замыкаете с корпусом (массой) модема и обращаем внимание на то, что чуть и выше и чуть левее находятся контакты для симки
Держа модем в такой же позиции как на картинке снимаете крышку и вынимаете симку
И в щелочку, которая как раз чуть правее контактов симки под симкой внимательно смотрим
Как раз и увидите эту точку - она там всего одна виднеется
Оригинальный размер фото качаем: Яндекс диск
Тонкая проволочка спокойно заходит в эту щелочку прям в эту точку, а другой конец проволоки на массу модема - например на ЮСБ штекер
А если вооружитесь лупой - то точно не промахнетесь
На этой картинке я подписал все известные мне площадки:
+5V - шина питания, идущая от USB-разъема
GND - земляная шина
Rx - приемник аппаратного консольного порта
Tx - передатчик аппаратного консольного порта
Boot - контакт для перевода модем в режим аварийной загрузки.
Для модема E3372H контактные площадки расположены так:
Площадка, обозначенная красным - это контакт аварийной загрузки. Назначение остальных площадок пока неизвестно - как только у меня появится такой модем, сделаю полное описание.
Надо взять пинцет, или еще какую-нибудь подходящую железку, и соединить между собой площадки Boot ( красная ) и GND (черная). Вместо площадки GND можно использовать металлический корпус USB-разъема или любой из металлических экранов. После замыкания точки Boot на землю вставляем модем в разъем USB компьютера, и через секунду перемычку можно убирать.
Модем будет запущен в режиме аварийной USB-композиции с единственным последовательным портом. Далее с помощью программы Balong USB Downloader в модем заливается загрузчик. Еще раз предупреждаю - НЕ ПЫТЙТЕСЬ ИСПОЛЬЗОВАТЬ ФИРМЕННЫЙ USBLOADER, идущий в комплекте с прошивками! используйте патченный usblsafe.bin! Иначе вы полностью потеряете nvram своего модема.
При использовании "метода иголки" я обнаружил, что порт, создаваемый ROM Bootloader, системой корректно не определяется:
Нашёл решение этой проблемы.
Оказалось, что в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags нужно создать подраздел 12D114430001, и в нём параметр SkipBOSDescriptorQuery типа REG_BINARY со значением 01 00 00 00:
Чтобы внести необходимые изменения в реестр, достаточно запустить reg-файл из архива: BOS_solution_2
При этом в системе должно быть установлено накопительное обновление KB2967917
В программе все предельно понятно. Лоадеры:
Модель h
Модель s
Далее нужно просто прошить модем в любую прошивку
Небольшое отличие для E3372h
Сначала нужно шить переходную прошивку, т. к. просто так первую прошивку не прошить из-за того, что виндовый прошивальщик ненавидит режим загрузки.
Вы наверное как и я любили в детстве все разбирать и изучать, как и что работает. Некоторые повзрослели, а я все еще люблю этим заниматься )). В этой статье, я расскажу о том, как вытащить прошивку с любого устройства и как разрабы пытаются это предотвратить.
У старых ламповых приемников не было вообще никаких прошивок, а единственная защита, которая у них была — это анодное напряжение. В наше время все иначе: мне попадаются гаджеты, которые пытаются противодействовать уже на этапе вскрытия корпуса. Начнем наше увлекательное путешествие.
Осмотр платы устройства
Если вскрытие не показало, что пациент умер от вскрытия, я сначала осматриваю плату в поисках пинов отладочных интерфейсов — обычно это JTAG или UART. Главная проблема не в том, что нужные контакты могут быть в очень неожиданных местах, а в том, что обычно они отключены. Конечно, даже в 2021 году все еще хватает уникумов, которые отправляют в прод устройства с включенным UART, но количество таковых стремительно падает.
Если тебе не повезло — вариантов немного: или плакать в подушку, или искать чип памяти на борту и читать его непосредственно.
И вот с этим тебя ожидает уйма интересного! Думал, нужно просто вытащить восьминогую микруху в DIP-корпусе, похожую на старый чип с BIOS? Как бы не так! Сейчас есть минимум четыре относительно широко применяемых вида памяти, и некоторые из них могут быть похожи друг на друга так, что не различишь.
Память
Прежде чем я расскажу, что и как делать с памятью, давай сначала разберемся, какая она вообще бывает и как ее отличить от других компонентов на плате.
По опыту процессор (на скриншоте выше по центру) обычно квадратной формы и исполняется в BGA, а память прямоугольная и делается в SOP-корпусах.
Часто в ультрапортативных вычислительно мощных устройствах (смартфонах, например) используется бутерброд из процессора и памяти — так меньше размеры и задержки при работе. Форм‑фактор, конечно, BGA — просто потому, что ничего другого в крохотный корпус запихнуть нельзя.
ROM — постоянную память — отличить довольно легко. Предположим, чип с ней ты уже нашел. Теперь давай разберемся, какая она бывает.
Нас интересует EEPROM (Electrically Erasable Programmable Read-Only Memory), FRAM (сегнетоэлектрическая память) и NOR/NAND flash — они тебе уже и так знакомы. Из них ты мог не слышать только о FRAM — ее начали применять около пяти лет назад, так что она еще не особо популярна.
EEPROM
Среди особенностей этой памяти — побайтовые чтение и запись. Такая память самая долговечная: по расчетам, она может сохранять информацию в течение примерно двухсот лет! Но за надежность приходится платить — главным образом объемом, с котором у этого вида памяти все плохо: типичный объем такого чипа измеряется в килобайтах. Из‑за низкого объема для хранения прошивок этот тип памяти почти не применяется. Ну а раз заговорили о минусах — стоит и о низкой скорости сказать.
Устройство ячейки памяти EEPROM
Ресурс ячейки — около миллиона циклов перезаписи. По сравнению с современными ячейками NAND, у которых этот показатель находится в пределах нескольких десятков тысяч циклов, EEPROM-память просто нереально надежная.
FRAM — это совсем новый тип энергонезависимой памяти. Промышленно его применять стали всего несколько лет назад, так что шанс встретить именно FRAM в каком‑нибудь умном холодильнике небольшой, но скоро все может поменяться. Пока что основная проблема в цене, которая несколько выше, чем у других типов памяти.
Устройство FRAM-ячейки. Похоже на DRAM, правда?
От EEPROM отличается фундаментально другим принципом запоминания информации: хранится не заряд на затворе, а знак поляризации сегнетоэлектрика. При приложении напряжения она меняется на противоположную, что позволяет читать такую память и писать в нее.
Из‑за нового принципа работы такая память значительно быстрее, чем EEPROM, но ее долговечность осталась практически неизменной.
NOR/NAND Flash
NOR/NAND-флеш‑память — это просто EEPROM, собранный в массив. NOR от NAND отличается только способом упаковки в массив, но это небольшое различие ведет к достаточно сильным отличиям в такой памяти.
NOR быстрее и надежнее, чем NAND, но стоит дороже из‑за меньшей плотности компоновки. NAND же, напротив, дешевый как мусор, но имеет проблемы с надежностью.
NOR- и NAND-память используется в SSD и всяких флешках. Из‑за низкой надежности NAND-памяти такие накопители в обязательном порядке имеют большой пул запасных ячеек, недоступных для обычного использования, и умный контроллер, который всем этим хозяйством рулит. Держать такой оверхед в ширпотребных умных мультиварках непростительно дорого, так что применяется обычно NOR, а NAND остается для пользовательских накопителей, где проблемы надежности можно переложить на пользователя, который не делает бэкапы. Хотя нет — даже в дешевых роутерах он все чаще применяется благодаря программным механизмам защиты целостности.
Сводная таблица NOR NAND FRAM EEPROM
NOR был бы идеален, если бы не его цена, так что рыночек порешал — и теперь у нас всех используется NAND почти везде. Даже во встраиваемой технике уже почти научились с ним безопасно работать — контрольные суммы, ECC-коды и резервные блоки. Красота!
Корпуса микросхем
Как видишь, с корпусами у памяти все плохо: помимо показанных на картинке вариантов, можно запросто вспомнить еще с десяток, и не факт, что производитель не решил использовать нечто эксклюзивное, у чего может вообще не быть названия.
Корпуса микросхем
Маркировка
Допустим, тебе повезло найти чип с памятью. Первым делом нам нужно прочитать его маркировку.
Если маркировка есть — немал шанс встретить ее именно в таком формате, как показан на картинке выше. Первые две буквы — код вендора, потом тип памяти в чипе, потом внутренний номер серии — и дальше уже четкой логики не прослеживается.
Так как единого стандарта нет и не предвидится, производители вольны писать на своих чипах, что считают нужным. Это порой приводит к коллизиям, вроде того, что представлено на той же картинке: два чипа разных производителей, оба 29-й серии, но один NOR, а другой — NAND. Короче, не угадаешь, и такие чипы приходится пробивать в поисковиках, чтобы выяснить хоть что‑то.
Типовой дизайн
Устройства одного сегмента проектируются очень похожими — это вполне очевидно. Например, все бытовые роутеры изнутри выглядят почти одинаково. Та же ситуация на рынке устройств SCADA, у которых свои каноны, но они прослеживаются везде без особых изменений.
Я расскажу о пяти категориях устройств, с которыми тебе, возможно, придется иметь дело:
- ПК;
- сетевое оборудование бытового сегмента (роутеры, свитчи, точки доступа);
- оборудование для ответственных применений (на заводах);
- IoT — интернет вещей;
- смартфоны.
Само собой, мир крутится не только вокруг смартфонов да компьютеров, но с ними у тебя шанс встретиться куда больше, чем с каким‑нибудь контроллером для управления ракетными двигателями. Поэтому давай рассмотрим типовое устройство только этих пяти категорий девайсов.
Устройство обычных ПК подразумевает модульность, то есть почти все детали можно легко вынуть. Из‑за этого на матплате из элементов памяти есть только флешка с BIOS/UEFI. При этом BIOS обычно сидит на микросхемах 24-й серии — I2C EEPROM, а в новых моделях стоит 25-я серия SPI NOR flash с UEFI.
Если же установлен взрослый интеловский процессор с поддержкой ME — на плате можно найти вторую такую же флешку, но с прошивкой для ME. Это делается в целях безопасности: находящуюся на физически отдельной микросхеме прошивку заразить или подменить сложнее.
Intel ME
Intel Management Engine — это особая система для UEFI-совместимых ПК на базе процессоров Intel. Она имеет свою выделенную микросхему памяти и собственный процессор, а также собственные каналы доступа к сетевым адаптерам и основной оперативной памяти. Может без ограничений взаимодействовать почти с чем угодно в составе компьютера, что очень сильно повышает требования к ее защите.
Бытовые роутеры
С роутерами потребительского класса все довольно просто: тут ставят память SPI NOR 25-й серии, если требуется не больше 8 Мбайт, или NAND-память объемом побольше. Изредка можно найти eMMC, но мне такое пока не попадалось.
Устройства для ответственного применения
Тут все немного сложнее. Стандарты требуют странных вещей, поэтому с большим шансом устройства этой категории будут состоять из нескольких плат, соединенных переходными интерфейсами. Будет много разных запоминающих устройств, чтобы просто пройти сертификацию.
Логи обычно пишутся в EEPROM или FRAM 24-й серии, загрузчик лежит на NOR 25-й серии, а все встроенное ПО кладут на NOR 26-й, 29-й серии. NAND используют редко, а если используют — сразу большими массивами с резервированием.
Сейчас понятие IoT слишком растяжимое: по сути, туда можно записать вообще все умное домашнее и даже не очень домашнее. Из‑за этого память там может быть любая: хоть EEPROM, хоть eMMC — это когда NAND с хост‑контроллером упакованы в один чип.
Смартфоны
В смартфонах обычно все самое передовое: тут тебе и eMMC, и eUFS, и даже NVMe SSD, как у Apple. При этом, как ни крути, все эти чипы выглядят плюс‑минус одинаково, так что ты их ни с чем не спутаешь.
Расшифровка имени
Теперь, когда нашли нужный чип и прочитали маркировку, ее нужно декодировать. Кстати, маркировка далеко не всегда читается целиком: часть может быть случайно или намеренно скрыта, а то и вовсе подделана, как любят устраивать китайцы со своими деталями на Али.
Особо крупные производители могут предоставлять на своих сайтах декодеры имени микросхемы, но почти никто так не делает.
Похвальный пример — производитель Micron, который дал на сайте внятную инструкцию и форму для получения даташита на свои микросхемы.
Если же декодера нет, придется выкручиваться. Можно попробовать разобраться по схеме на скриншоте ниже, но, естественно, безо всяких гарантий успеха. Возможно, даже лучше сразу идти к японцам — они очень любят неадекватно запутанные названия без известной логики. Она, конечно, есть, но пока что никто ее не смог понять.
Поиск документации
Гуглить, думаю, ты и сам умеешь, но для поиска документации ко всяким экзотическим чипам это может быть бесполезно. Во‑первых, более эффективен поиск по первым N символам названия микросхемы. Во‑вторых, часто проще найти по коду на Aliexpress или других крупных торговых площадках.
Если уж любишь Google, попробуй поиск по картинкам — там порой можно найти то, что текстом не ищется.
Еще огромные базы чипов есть в ПО для программаторов — я использую ПО компании Elnec. Зачастую там даже есть даташиты, но слишком на это надеяться не стоит.
И еще одно хорошее место для поисков — GitHub. С большим шансом там найдется что‑нибудь по запросу в духе «X microcircuit read poc». Дальше можно выдрать ссылку на даташит или что‑то еще полезное. Мне попадались даже скрытые сервисные команды для блокировки/разблокировки чипа, что, конечно, очень приятно при изучении.
Оборудование
Тут можно только сказать, чего делать не стоит: не надо брать дешевые инструменты и расходники. Из моего любимого — припой, который плавится при совершенно неожиданных температурах, проводящий флюс (!) и одноразовые пинцеты.
Подробнее хочется рассказать о дешевом флюсе. Как пример — ТТ, также известный как розовый гель. Он хорош, но он не отмывается и проводит ток на высоких частотах. Это не проблема в советском радио или даже современном блоке питания, но вот на платах компьютеров с гигагерцами частоты он категорически противопоказан.
Снятие компаунда — это вопрос температуры. Я обычно грею феном на ~250 градусов, но есть одна проблемка. И состоит она в том, что под компаундом компоненты могут быть припаяны низкотемпературным припоем, вроде сплавов Розе или Вуда. Да, компаунд ты снимешь, но вместе с ним сойдет половина платы. А хитрая флешка может не завестись без кучи рассыпухи, которую обратно уже не собрать.
При снятии компаунда не забывай о вытяжке — твое здоровье важнее любой микросхемы!
Что делать, если плата покрыта лаком? Можно попробовать свести его ацетоном, но он может повредить текстолит. Делай так, только если тебе терять нечего. Для остальных случаев — просто снимать скальпелем в нужных местах, а остальное не трогать.
При пайке ориентируйся на график термопрофиля в конце даташита на микросхему. Он там размещается не просто так, и на моей памяти действительно были случаи, когда микросхема умирала от перегрева при извлечении. Как известно, люди делятся на тех, кто не смотрит графики в документации, и тех, кто уже смотрит.
К заводскому припою часто имеет смысл примешать менее тугоплавкий сплав Розе или ПОС63, ну или сплав Вуда, если все совсем плохо. Это значительно понизит температуру пайки и увеличит шансы не сжечь микруху.
Подготовка к чтению прошивки
После выпайки ни в коем случае нельзя устраивать микросхеме температурные испытания: пусть полежит и остынет сама, а не в спирте — так шансы сохранить работоспособность куда выше. Дальше нужно проверить, все ли лапки чипа находятся в одной плоскости и не образовались ли от припоя перемычки между ножками. Их нужно убрать, чтобы не спалить программатор, не имеющий защиты от такого, и сам чип тоже.
С BGA нужно убрать старый припой и нанести новые шарики. Когда чип очищен и подготовлен к чтению, не вздумай пихать его в программатор с прижимом прямо в чип — велик шанс просто раздавить его!
Чтение прошивки
Помни, что память NOR flash идет с завода без битых ячеек, а у NAND есть допустимый процент брака, так что, если в NAND видны битые ячейки, не спеши расстраиваться.
Программатор перед чтением нужно правильно настроить. В частности, надо заставить его читать все, включая системные страницы в начале и конце памяти — они бывают крайне важны!
Разработчики чипа настоятельно рекомендуют разработчикам устройства использовать свои чипы в соответствии с некоторыми правилами. Но вторые вольны не подчиняться первым, так что системные страницы порой оказываются хранилищем ключей шифрования или каких‑то других данных. В общем, читай все — лишним точно не будет.
Вот теперь у тебя есть образ, который можно грузить в IDA и ковыряться дальше, но это уже тема для отдельной статьи.
Статья написана по мотивам доклада Демида Узенькова — специалиста компании ИНФОРИОН. Выступление состоялось на конференции RuCTFE 2020. За помощь в подготовке публикации редакция благодарит команду «Хакердом».
Читайте также: