Стабильно и быстро работает везде, где есть сотовая связь, можно пользоваться сим-картой любого оператора, быстрое и легкое подключение, компактный размер
Добрый день всем читателям этого отзыва!
Сегодня хочу рассказать о модеме Huawei E3372 LTE USB Stick, которым я пользуюсь уже около года. До покупки этого модема дома я пользовалась обычным проводным интернетом, а на работе — вай фаем. Но однажды я почему-то не смогла подключить интеренет к домашнему ноутбуку, поэтому пришлось звонить в службу поддержки интернет-провайдера, где и выяснилось, что с подключением проблем нет, зато они есть с моим ноутбуком. По-видимому разъем, через который подключался кабель, приказал долго жить. Так как интернет мне нужен был в срочном порядке, я решила купить модем, который подключается так же как флешка к любому другому разъему. В магазине посоветовали купить модем фирмы Huawei, а так как я не сильно разбираюсь в подобной технике, я решила не искушать судьбу и прислушаться к совету продавца. Данный модем упакован вот в такую коробочку:

Произведен он в Китае, также как и вся продукция этой фирмы:

Внутри имеется инструкция, но в принципе с этим устройством можно разобраться и без нее:

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


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

Работает этот модем при помощи обычной сим-карты, которую тоже нужно купить отдельно, выбрать можно любую, по своему усмотрению. Сим-карта вставляется внутрь устройства, там для нее есть специальный разъем:

При первом подключении к ноутбуку модем работал не совсем корректно, я не могла зайти на некоторые сайты. В связи с этим мне пришлось обратиться в службу поддержки Билайна (так как я купила сим-карту именно этого оператора), где мне сказали, что я выбрала не тот тариф и мне нужно заменить сим-карту на более подходящую. Но когда я пришла в магазин, продавец сказал, что дело в том, что я ее просто не активировала. Почему-то при покупке меня никто не предупредил, что перед помещением сим-карты в модем, ее нужно предварительно вставить в телефон. После того как продавец произвел эти манипуляции, модем сразу заработал, из чего я сделала вывод, что проблема была не в нем самом, а в сим-карте.
К ноутбуку этот модем подключается как обычная флешка, подойдет любой разъем, который предназначен для нее. При подключении загорается зеленый индикатор, это означает, что идет поиск сети:

Буквально через несколько секунд индикатор становится синим, это означает, что сеть найдена:

Одновременно с изменением цвета индикатора на экране ноутбука открывается окно браузера, в котором показана информация по подключению сети. В моем случае открылся браузер Мозилла, хотя обычно я пользуюсь Хромом, но наверное он просто на моем ноутбуке значится браузером по умолчанию. При желании это окно можно закрыть, работе интернета это не повредит.

У модема имеются настройки, которые можно посмотреть на разных вкладках. Я ничего не трогала и не меняла, так как все и так работает нормально.

После того как я попользовалась какое-то время этим модемом, я решила вообще отказаться от проводного интернета, так как это оказалось намного удобнее, ведь теперь я могу пользоваться интернетом с нуотбука в любом месте, где есть сеть мобильного оператора, а не только дома. Подключается этот модем очень быстро, места практически не занимает, а работает стабильно и исправно. Оплачивать интернет тоже очень удобно — нужно просто положить деньги на номер мобильного телефона. Данный модем можно использовать на любом ноутбуке или компьютере, он совершенно универсален. При первом запуске на новом устройстве он сначала немного зависает и что-то устанавливает, но занимает это от силы 5 минут, а затем можно начинать работать. Скорость работы у него отличная, все сайты загружаются очень быстро, он не тормозит и не глючит. С проводным интернетом у меня изредка были проблемы, когда происходил какой-то обрыв на линии, а в этот модем работает уже год без каких-либо нареканий.
Цена этого чудо-устройства составляет 3590 рублей, что совсем не дешево.
В целом, работой этого модема я очень довольна, работает он быстро и исправно, поэтому могу поставить ему пятерку и рекомендовать к покупке .
Сегодня многие не могут представить свою жизнь без интернета, ведь с его помощью мы работаем, общаемся с друзьями и близкими, находим необходимую информацию. В современном мире важно оставаться на связи в поездках независимо от того, насколько удалена ваша локация от крупных мегаполисов. В этом помогает мобильный интернет для загородного дома. Наиболее простой и удобный вариант подключения вашего ноутбука к мобильному интернету – это USB-модем Huawei E3372, который сможет выручить вас в любой ситуации.

Как устроен модем Huawei E3372
Модель E3372 сегодня представлена в двух аппаратных версиях:
Внешне они очень похожи, и даже обладают одинаковыми функциями, но первый вариант – это обычный классический USB-модем, а второй – более современный, который выполняет некоторые функции роутера.
Расположение элементов
Устройство модема несложное. Если вы снимете его крышку, под ней находится USB-разъем. Немного ниже находятся отверстие в колпачке и петелька на корпусе, они предназначены для закрепления шнурка, который будет связывать корпус с колпачком, и вы его не потеряете. На самом корпусе находится индикатор, лампочка которого может гореть различным цветом, в зависимости от ситуации. Внутри модема находятся два слота — SIM-карты и карты памяти. SIM-карта является обязательной составляющей, без нее устройство не будет работать, а карту памяти применяют, чтобы использовать устройство в качестве флеш-накопителя. На боковой части под специальной шторкой находятся разъемы, в которые подключаются внешние антенны – одна или две, в зависимости от модели. Например, модем E3372h-153 имеет в комплектации одну встроенную антенну и один разъем для внешней.
Что означают индикаторы
Модем E3372 имеет только один универсальный индикатор, в котором предусмотрено несколько режимов. Поскольку устройство поддерживает несколько стандартов мобильного интернета, для каждой сети будет использоваться определенная индикация. Для 2G — зеленая, для 3G — синяя, для 4G/LTE — голубая. Когда модем отключен от USB-порта, лампочка индикатора не горит, когда включен — мигает зеленым, синим или голубым цветом с интервалом примерно 1 раза в секунду. Когда интервал мигания меньше, через полсекунды — в это время происходит обновление прошивки устройства. Если же индикатор мигает с интервалом 1 раз в две секунды — происходит регистрация в сети.
Если лампочка индикатора горит красным — у вас нет подключения к интернету. Причины бывают разные — технические проблемы у вашего провайдера, модем не видит SIM-карту и др.
Технические характеристики
Современный модем Хуавей Е3372 обладает следующими техническими характеристиками:
Подключение и настройка модема
Продаваемые в РФ модемы Huawei E3372h обычно имеют программное обеспечение, установленное сотовым оператором, поэтому работа устройства будет зависеть от того, какая программа в нем установлена.
Как подготовить устройство к работе
В первую очередь следует подготовить модем. Когда вы приобретаете устройство, к нему в комплекте идет специальная сим-карта, имеющая свой тариф. С модема нужно снять колпачок, сдвинуть крышку и в специальный разъем вставить сим-карту таким образом, чтобы оба скошенных уголка совпали. Затем крышку нужно закрыть и вставить устройство в USB-порт на компьютере или ноутбуке. При этом стоит проверить фиксацию, чтобы модем плотно вошел в порт. Если необходимо вынуть сим-карту из слота, делать это можно только в том случае, когда вы достали модем из компьютера. Если вы попытаетесь достать сим-карту из работающего устройства, все данные будут утеряны, а сама карточка и модем могут повредиться.
Настройка через фирменную утилиту оператора
Когда вы подключили устройство, при первом запуске Huawei E3372 3G и 4G автоматически запускается установочная программа, которая установлена в программном обеспечении вашего компьютера. Если окно Мастера установки не открылось, в разделе «Устройства и диски» необходимо найти ее и запустить. Процесс установки совсем несложный, необходимо только следовать инструкции и подсказкам, которые будут представлены Мастером установки.
Сразу после запуска установки открывается окно «Установка Коннект Менеджер». У разных операторов эти установочные программы могут иметь различные интерфейсы и опции, но смысл установки у них одинаковый. После начала процесса необходимо подождать, пока будут копироваться необходимые файлы и нажать кнопку «Далее», которая станет активной, когда все файлы будут скопированы.
Когда Мастер установки завершит работу, вам будет предложено произвести дополнительные настройки, выбрав необходимые варианты из списка предложенных. Внимательно просмотрите список, уберите ненужные, добавьте необходимые настройки и нажмите «Готово». После этого на рабочем столе появится ярлык установленной программы, а на панели задач будет доступен значок. После установки программу следует запустить и проверить ее возможности.
Когда приложение запущено, на странице «Коннект» есть возможность подключить или отключить модем Е3372 с помощью кнопки «Подключить/Отключить». Там же можно проверить состояние смарт-карты, убедиться, что она готова к работе, узнать всю информацию о соединении – скорость, время соединения, трафик.
В разделе «SMS» есть возможность управлять своими сообщениями, раздел «Контакты» покажет данные обо всех ваших контактах. В «USSD» можно проверить свой баланс, узнать задолженность, количество минут на остатке, изменить тарифный пакет.
Раздел «Настройки» позволит вам настроить модем Е3372h под свои желания и возможности. Можно произвести активацию автозапуска и устройство будет заходить в интернет при каждом включении модема в USB-порт. Здесь же вы можете выбрать желаемую сеть 2G, 3G или 4G. Уровень сигнала на данный момент можно узнать, если навести курсор мышки на значок сим-карты, который находится в правом верхнем углу.
Чтобы отключить интернет для дачи, нужно нажать кнопку «Отключить», которая находится в разделе «Коннект». А чтобы полностью отключить модем, сначала необходимо закрыть программу «Коннект Менеджер», затем в разделе «Устройства и диски» нажать правой кнопкой мыши по названию диска и подтвердить действие «Извлечь».
Настройка через веб-интерфейс
В закладке «Управление профилями» следует найти своего оператора и создать «Новый профиль». В открывшемся окне нужно внести имя и пароль, задать точку доступа.
В закладке «Настройка сети» нужно при помощи автопоиска установить необходимый режим — GSM (2G), UMTS (3G) или LTE (4G).
Все внесенные изменения нужно сохранить, открыть закладку «Главная» и удостовериться, что появился и работает интернет.

Плюсы и минусы
Модем с 3G, 4G/ LTE Huawei E3372 отлично подходит тем, кто живет за городом и много путешествует. Это дешевый по стоимости, но отличный по техническим параметрам вариант USB-модема. Благодаря внешним антеннам устройство хорошо работает даже на местности, которая значительно удалена от вышек связи. Модем имеет высокие показатели скорости соединения, прост в настройках, не требует от пользователя дополнительных усилий.
Преимущества модема Huawei E3372:
Если вы желаете приобрести современный и надежный USB-модем, который прост в настройках и поддерживает стандарты 3G и 4G/LTE, то Huawei E3372 – отличный выбор.
Huawei E3372h/E3372s (МТС 827F/829F/829FT, МегаФон M150-2, Билайн E3370) — Обсуждение

Предыдущий вариант шапки
Внимание! В продаже появились новые модемы Brovi E3372-325 внешне похожие на Huawei e3372,но аппаратно и программно отличаются даже от E3372H-320. Совершенно новая модель и что внутри, пока информации нет.
Все манипуляции с прошивкой и конфигурированием модема вы делаете на свой страх и риск!
Правила поведения в теме
Перечень вопросов, ответы на которые есть в шапке темы или в других профильных темах:
Немного информации о новой модификации модема E3372h-320
Фото от Sou1t
Поддерживаемые диапазоны:GSM/EDGE/EVDO/LTE/FDD/TDD/UMTSСкорость приёма данных модемом до 150 Мбит/с, Скорость передачи данных — до 50 Мбит/с
Поддерживаемые частотыGSM / GPRS / EDGE 850 / 900 / 1800 / 1900UMTS / DC-HSPA+ /WCDMA 900 / 2100LTE 800/900/1800/2100/2600 MHz
ДополнительноПоддержка карт MicroSD до 32 ГБ
Внешняя антеннаТип разъема внешней антенны — CRC9, он же, по терминологии huawei — TS-5.Модем имеет 2 антенных разъема (под MIMO-антенны), одиночная антенна подключается к разъему, ближайшему к USB
Операционные системы:Поддержка OC Windows XP SP3, Windows Vista SP1/SP2, Windows 7, Windows 8, Mac OS X 10.5, 10.6, 10.7, 10.8, Linux
Драйверы и программы
Контактирование с модемом
Читать обязательно!!!Типы и особенности прошивок модема
Читать обязательно!!!Полезная информация по процедуре перепрошивки модема
Рекомендуемая версия веб-интерфейса: На выбор, на вкус и цвет — друзей нет
Инструкции + Полезные ссылки
Совместимость с роутерами
Модем не программируют для совместимости с роутерами, наоборот, это делают производители роутеров. Поэтому ищите список совместимых моделей с вашим роутером. Если вы ищите роутер для работы с этим модемом, то создайте тему в Выбор и сравнение. Здесь все просьбы о помощи с выбором удаляются.Далее, если вам нужна помощь для того, чтобы подружить модем с роутером, то вам нужно спрашивать помощи в теме роутера. Почему? Потому что роутеры очень разные, люди в этой теме понятия не имеют, что нужно сделать, чтобы модем с ним заработал. Модемы же, напротив, определяются все лишь несколькими разными способами, что-то нестандартное бывает редко. У этого модема есть несколько разных способа для определения: RAS, NDIS в Stick-прошивке и RNDIS, CDC в HiLink-прошивке (RNDIS для винды, CDC для линукса, включая роутеры. И NDIS — не RNDIS, это разные вещи). Иными словами, вам необходимо дружить роутер с модемом, а не модем с роутером, поскольку драйвера должны быть заложены в нем. А что можно сделать с модем? А ничего, нужно ковырять роутер, в него производитель не заложил драйвер.В случае, если вас гонят из темы роутера сюда, не нужно писать об этом, исключений нет и пост все равно будет удален. Лучше скиньте ссылку на этот текст в тему роутера, чтобы они поняли, что они неправы. А если не помогло — ну что, значит не судьба.
PS: самая беспроблемная схема с роутером: прошивка HiLink на модеме с автопереключением в CDC + Zyxel Keenetic 4G III rev.A с прошивкой Padavan
Сообщение отредактировал ferhad.necef — 26.05.23, 14:57
Причина редактирования: всё по проблеме «Неопознанное устройство»
Доступ к командным интерфейсам модема
adb connect 192.168.8.1adb shell
Доступ через отладчик андроида ADB позволяет также передавать-принимать файлы из внутренней файловой системы модема.Если модем у вас со stick-прошивкой, или стандартной (немодифицированной) HILINK-прошивкой, то вышеуказанный способы работать не будут. Кроме того, эти способы не позволяют получить доступ к консоли VxWorks. Поэтому рассмотрим более универсальный способ, изначально заложенный в модем производителем — порты A-shell и C-shell. Оба этих порта являются USB-serial устройствами, включаемыми в USB-композицию модема в режиме DebugMode. Первый из них — консоль линукса, второй — консоль VxWorks.Для начала нужно получить доступ к командному AT-порту модема. В stick-прошивках этот порт доступен сразу — это самый первый порт (/dev/ttyUSB0). В стандартных HILINK-прошивках AT-порт по умолчанию недоступен. Чтобы открыть доступ к этому порту, нужно прошить модифицированный вебинтерфейс, а затем зайти браузером вот по такому адресу:
Это переключит модем в отладочный режим — теперь, кроме сетевого интерфейса, также становятся доступны 6 последовательных портов. Самый первый из них и будет командным АТ-портом. Теперь надо зайти любой терминалкой на этот порт, и ввести такие AT-команды:
Пароль в команде ^spword — это код, вычисленный по обычному алгоритму v201, но от IMEI модема, развернутого задом наперед. В калькуляторе для этого имеется кнопка Reverse. После ввода команд модем перезагружается. Для HILINK-модема следует снова сделать переключение в отладочный режим через WEB-интерфейс, как я писал выше. В результате у модема появится 6 последовательных портов:
ttyUSB0 — порт AT-командttyUSB1 — консоль VxWorksttyUSB2 — кносоль LinuxttyUSB3ttyUSB4ttyUSB5 — лог DSP
Для stick-модема придется ввести в список доступных портов (командой ^setport) два дополнительных порта — с номерами 5 и А, например так:
В результате у модема появятся 4 последовательных порта:
ttyUSB0 — AT-порт для PPP-соединенийttyUSB1 — AT-порт для NDIS-соединенийttyUSB2 — консоль LinuxttyUSB3 — консоль VxWorks
Порт консоли Linux — это первичная системная консоль (/dev/console), на которую выдаются все системные сообщения ядра. Шеллом там по умолчанию устанавливается toolbox андроида, крайне неудобный в работе. Чтобы облегчить себе жизнь, следует ввести команду:
4.11.1. Замена русских букв похожими из других языков и наоборот;4.11.3. Написание сообщений прописными и строчными буквами вперемешку («вОТ тАкИм оБрАзОм») или буквами разных алфавитов («slеdующiм оbраzом»);
Сообщение отредактировал ctich21 — 03.09.14, 11:13
Модифицированный веб-интерфейс для E3372s на основе WebUI 16.100.05.00.03
На основе прошивки:
Update_WEBUI_16.100.05.00.03_Hilink_V7R2_9x25_CPIO.exe SHA1 db0e46f992a37b977d549af3ad369c99fdb3f763WEBUI_16.100.05.00.03_Hilink_V7R2_9x25_CPIO.bin SHA1 3fbdcc038d875860d77b0757553d1bc7974d84a0из E3372sWEBUI-V100R006B100D05SP00C03_general_05012EBM.zip
Ориентирован на работу с прошивкой 22.286.03.00.00.Работает также и с модифицированными прошивками 22.286.53.01.161_S_*.Несовместим с оригинальной билайновской прошивкой 22.286.53.01.161 в части SMS.
Update_WEBUI_16.100.05.00.03_V7R2_CPIO_Mod1.5.rar ( 14.74 МБ )
Сообщение отредактировал Abbat1985 — 09.07.20, 20:52
Причина редактирования: В шапке
После некоторого периода тестирования выпускаю новый релиз калькулятора nlock-кодов для модемов Huawei. В прошлом калькуляторе, calc201, обнаружилась ошибка в расчетной ветке 7, что иногда могло привести к неправильной генерации кодов. Теперь калькулятор умеет вычилсять 4 варианта кода — flash-код, код алгоритмов версии 1 (old algo), 2 (new_algo) и 201 (201_algo).Также, учитывая, что многие здешние обитатели вообще не понимают, что такое командная строка, я приделал графическую морду к калькулятору. Морда написана на кроссплатформенном Qt, и имеется и в linux, и в windows-версиях калькулятора. морда выглядит так:

Надеюсь, что тут все понятно. Единственное необходимое пояснение: кнопка reverse переворачивает IMEI задом наперед. Это нужно для вычисления кодов в команде at^spword модема 3372.
Linux-вресия калькулятора, кроме графической морды, имеет также режим командной строки. Если ее запустить без параметров — открывается графическая морда. Если указать парамтром IMEI — в консоль будут выданы все 4 кода. Можно также указывать ключи:
-r — перевернуть IMEI-f — вычислить только flash-код-1 — вычислить только код v1 (old algo)-2 — вычислить только код v2 (new algo)-3 вычислить только код v201 (201 algo)
Это может быть полезно при написании скриптов. Windows-версия калькулятора не имеет в себе такой функциональности — программировать под windows я не умею, да и не нужно это виндузятникам.Во вложении 4 файла — раздельно версии под windows, linux 32 bit, linux 64 bit, и исходные тексты. Linux-версии требуют установленной в системе библиотеки Qt, windows-версия собрана статически и не требует никаких библиотек (зато имеет размер почти 4М).
В заключении, хочу выразить благодарность пользователям rust3028 и Chujoi13 за неоценимую помощь в подготовке и тестировании этого релиза.
huaweicalc_src.tar.gz ( 20.59 КБ )
huaweicalc_lnx32.gz ( 28.68 КБ )
huaweicalc_lnx64.gz ( 29.74 КБ )
huaweicalc_win32.rar ( 3.37 МБ )
Сообщение отредактировал Abbat1985 — 09.07.20, 20:53
А можно в Debug Mode поасть через usb_modeswitch?
нет, нельзя. Мы же с тобой уже недавно обсуждали. Единственный способ попасть в debug снаружи — через запрос POST. rust3028 написал скрипты для этого — Huawei E3372 (МТС 827F, Мегафон М150-2) — Обсуждение (Пост #35133017) , а ты их, насколько я помню, адаптировал под лиункс.
Еще можно сделать переключение внутри самого модема. Для этого надо написать простенькую программку:
Собрать ее с помощью android ndk и запускать внутри модема. Именно таким способом производит переключение сам вебсервер.
Но тут есть подводный камень. В момент переключения SD-карта исчезает из USB-композиции и потом появляется заново. Если openwrt уже успел ее примонтировать — получишь ошибку. Поэтому использовать эту карту как extroot в openwrt сходу не получается.
Сейчас я как раз разбираю, как работает с картой AT-процессор — команду at^sd. Возможно, она поможет в этой ситуации.
Сообщение отредактировал forth32 — 30.11.14, 05:30
Кстати, у rust3028 уже имеется готовая программа переключения с произвольной задержкой, готовая для включения в autostart.
rust3028, может быть выложишь ее сюда, чтобы людям не мучаться с освоением ndk?
sw-dbg-mode.rar ( 4.42 КБ )
Автоматическое переключение модема в Debug Mode и Project ModeПодходит для обоих модемов, на любой прошивке HiLink.
sw-mode.zip ( 306.85 КБ )
Сообщение отредактировал Abbat1985 — 09.07.20, 20:54
В качестве новогоднего подарка, пока есть свободное время, хочу опубликовать небольшой цикл из 2 статей, посвященный методам исследования одной из операционных систем модема — VxWorks. Меня давно об этом здесь просили, но как-то времени не было собраться. Информация предназначена для любителей поковыряться в потрохах модема, разобрать скрытые его возможности, понять, как он работает. Для тех кому модем нужен «воткнуть и забыть», эта информация бесполезна — просто проходите мимо, все равно ничего не поймете.
Итак, часть 1 — загрузка и разбор образа VxWorks в дизассемблере IDA.
VxWorks, как и все другие компоненты модема, хранится в одном из разделов флеш-памяти модема — разделе mtd11. Для начала нам надо получить образ этого раздела. Его можно получить обычной командой dd. Заходим в консоль линукса (телнетом, через adb, или через a-shell — все это описано в шапке). И вводим такую команду:
Теперь выходим из шелла, и забираем полученный образ к себе на компьютер через adb:
adb pull /online/mtd11.bin
Процессс приема файлов через adb достаточно медленный (файл будет перекачиваться минут 10, если не больше), поэтому для быстроты можете воспользоваться другими методами — поднять ftp-сервер в модеме командой:
tcpsvd -vE 0.0.0.0 21 ftpd /online
затем зайти по ftp на адрес 192.168.8.1 и забрать файл.
Полученный файл mtd11.bin содержит в себе упакованный образ vxworks, к которому добавлен заголовок раздела. Следующим этапом нам надо распаковать этот образ, отрезав предварительно заголовок. Это можно сделать так:
В результате получаем файл balong_modem.bin, который и является фирменный образом VxWorks от этого модема. Осталось узнать, по какому адресу в памяти модема загружается этот образ. Тут нам повезло — необходимая информация содержится в логе ядра dmesg после загрузки модема:
Отсюда следует, что адрес загрузки VxWorks — 0x50d10000. Теперь запускаем дизассемблер IDA, выбираем для дизассемблирования файл balong_modem.bin, тип процессора — ARM Little endian (ARM), адрес загрузки — 0x50d10000. Дизассемлер загружает файл, но код дизассемблировать не торопится — он не знает адресов точек входа в подпрограммы. Мы их, вообщем-то, тоже не знаем. Нам нужна таблица символов операционной системы. К счастью, такая таблица встроена в ОС и ее можно посмотреть командой lkup. Порядок действий может быть таким:- входим в шелл VxWorks (C-shell), Как это сделать — описано в шапке.- Включаем в терминальной программе режим сохранения лога сеанса в файл.- вводим команду:
— Долго жмем ентер, пока таблица не закончится- Закрываем лог в терминальной программе.
gcc -o vxsym vxsym.c./vxsym terminal.log
terminal.log в данном примере — это имя лог-файла, сохраненного из терминальной программы. В результате будет создан IDA-скрипт vxsym.idc, а на stdout будет выведена та же самая таблица символов, но приведенная к человеческому виду.Теперь нам осталось загрузить в IDA полученный скрипт (нажать alt-f7 и выбрать файл vxsym.idc). При этом в IDA-базу будут внесены все имена из таблицы символов, а участки кода, отмеченные в таблице как TEXT, будут автоматически дизассемблированы.На этом первый этап закончен — у нас есть готовая IDA-база, которую можно начинать разбирать и исследовать. Для тех, кто плохо знаком с ситемой команд ARM, прилагаю pdf-файл c описанием архитектуры и системы команд ARMv7.
Во второй части я расскажу о встроенном в VxWorks отладчике, жизненно необходимом для исследования кода. В качестве пример мы заставим сам модем посчитать nlock-код по алгоритму v201.
vxsym.c.gz ( 470 байт )
DDI0406C_C_arm_architecture_reference_manual.pdf ( 21.5 МБ )
Часть 2 — пример исследования кода в отладчике VxWorks. Первая часть статьи здесь.
Исследовать код чисто умозрительно, разбирая последовательность инструкций в дизассемблере — конечно, можно, но достаточно тяжело. Регулярно возникает вопрос — а что в данный момент лежит в этом регистре? Перейдет ли управление по этой условной инструкции или нет? И так далее. Всегда хочется посмотреть регистры и память на живом модеме в интересующих нас точках. Фирма huawei сделала нам необычайно щедрый подарок — встроенный в VxWorks шелл с отладчиком. В качестве примера разберем такую задачу. Одной из подсистем VxWorks является процедура расчета кода разблокировки (знаменитый алгоритм v201). Когда пользователь вводит команду at^cardlock, модем рассчитывает nlock-код от своего IMEI, и сравнивает с введенным в команде. Если совпали — модем разблокируется. Не совпали — выводится сообщение ERROR. Анализом и обработкой AT-команд занимается Linux-часть модема. После приема команды через специальную подсистему обмена сообщениями (ICC) в VxWorks передается специальный запрос. По этому запросу VxWorks вычисляет и проверяет nlock-код, и возвращает в Linux через ICC ответ — совпало/не совпало. Мы попробуем заставить модем вычислить и показать нам 201-код от своего IMEI.Команда ^cardlock — одноразовая. После того, как модем разблокировался, команда работать перестает. Но, к счастью, nlock-код требуется еще одной команде — at^datalock. Она используется для снятия блокировки с ряда служебных команд (типа ^nvrd/nvwr), и ее можно вводить сколько угодно раз. Вот с этой командой мы и будем работать.Итак, у нас уже есть готовая IDA-база с образом VxWorks. Быстрый поиск по таблице символов дает нам процедуру с именем DRVAGENT_RcvDrvAgentDeviceDatalockSet. Именно эта процедура вызывается после приема сообщения от команды at^datalock. Но так ли это? Давайте проверим. Заходим в шелл VxWorks (C-shell) и вводим такую команду:
Система ответила кодом 0 — команда принята. В результате этой команды мы установили отладочную точку (breakpoint) на адрес интересующей нас процедуры. Теперь открываем терминал на порт AT-команд модема, и вводим такую команду:
Код из всех единиц я выбрал произвольно — здесь может быть любое 8-разрядное число. Заметьте, что после нажатия enter модем не ответит привычными ОК или ERROR. Причина этого в том, что в VxWorks сработал breakpoint, и linux-часть модема еще не получила ответа. Переключаемся в консоль VxWorks и видим следующее:
Наша точка останова сработала. Теперь мы уверены, что при вводе команды datalock управление приходит именно на процедуру DRVAGENT_RcvDrvAgentDeviceDatalockSet. Далее следует ввести команду «с» — тогда VxWorks продолжит свою работу, а в АТ-терминале появится долгожданный ответ ERROR.Теперь займемся анализм кода в IDA. Сразу бросается в глаза вызов процедуры с громким названием MMA_VerifyOperatorLockPwd. Открываем ее, разбираем.
Как видно, все, что она делает, это берет IMEI модема из ячейки g_aucMmaImei, копирует его во временную переменную, и вызывает процедуру VerifySL. Смотрим эту процедуру.Из анализа кода следует, что на ее вход передаются 2 параметра. В R0 лежит адрес строки, введенной нами в команде ^datalock. В R1 лежит адрес области памяти, хранящей IMEI модема. Давайте это проверим. Удаляем предыдущую точку останова, и ставим новую — на процедуре VerifySL.
Снова идем в АТ-терминал и вводим команду at^datalock. После срабатывания точки останова сморим содержимое регистров командой ti:
Break at 0x50d818c0: VerifySL Task: 0x53e964b8 (I0_TAF_FID)
NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY———- ———— ——— — ———- ——— ——— ——- ——I0_TAF_FID vos_FidTask 53e964b8 144 STOP 50d818c0 5414ef38 0 0
task stack: base 0x5414f000 end 0x54147000 size 32768 high 896 margin 31872exc. stack: base 0x54151ffc end 0x54151000 start 0x54152000 exc. stack: size 4092 high 624 margin 3468
proc id: 0x5245028c ((null))options: 0x9005VX_SUPERVISOR_MODE VX_DEALLOC_STACK VX_DEALLOC_TCB VX_DEALLOC_EXC_STACK
VxWorks Events—————Events Pended on : Not PendedReceived Events : 0x0Options : N/A
r0 = 0x5372759c r1 = 0x5414ef3c r2 = 0x00000000r3 = 0x00000000 r4 = 0x5414ef3c r5 = 0x5372759cr6 = 0x53727580 r7 = 0x00000000 r8 = 0x5369fb60r9 = 0x00000010 r10 = 0x0000000f r11/fp = 0x5414ef60r12/ip = 0x32303634 r13/sp = 0x5414ef38 r14/lr = 0x51463690pc = 0x50d818c0 cpsr = 0x600c0113 ttbase = 0x53f74000value = 0 = 0x0
Теперь смотрим содержимое памяти по адресам из регистров R0 и R1:
Как видим, в первой области памяти лежат все 1 — то, что мы вводили в команде ^datalock. Во второй — IMEI нашего модема.Анализируя процедуру VerifySL дальше, мы видим, что имеется 6 различных веток вычисленя кода, в зависимости от IMEI. Адреса процедур лежат в таблице unlock_func_table_v201:
ROM:51CED72C unlock_func_table_v201 DCD GetEncryptResult_201_1RAM:51CED72C ; DATA XREF: VerifySL:loc_50D81988oRAM:51CED72C ; ROM:off_50D819D8oRAM:51CED730 DCD GetEncryptResult_201_2RAM:51CED734 DCD GetEncryptResult_201_3RAM:51CED738 DCD GetEncryptResult_201_4RAM:51CED73C DCD GetEncryptResult_201_5RAM:51CED740 DCD GetEncryptResult_201_6RAM:51CED744 DCD GetEncryptResult_201_7
В конце концов происходит сравнение вычисленного nlock-кода и введенного пользователем:
Сравнение выполняет функция strcmp. На ее вход подается вычисленный модемом код в виде строки, адрес которой лежит в регистре R1. Теперь мы можем поставить точку останова по адресу 50D819C0, и увидеть долгожданный nlock-код, продолжив выполнение командой c:
NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY———- ———— ——— — ———- ——— ——— ——- ——I0_TAF_FID vos_FidTask 53e964b8 144 STOP 50d819c0 5414ef0c 0 0
Вот так мы вычислили nlock-код c помощью модема. Этот код является абсолютно точным, образцовым. Можно при входе в процедуру VerifySL c помощью команды m вписать в память другой IMEI, и вычислить nlock-код от него. Я использовал эту возможность для отладки своего калькулятора кодов.
Возможности отладчика VxWorks очень обширны. Вот крайткий список полезных команд:
b — установить точку остановаbd — убрать точку остановаc — продолжить выполнение программыs — сделать 1 шагso — сделать шаг без захода в подпрограммыd — посмотреть памятьl — дизассемблировать код (да, да — там и встроенный дизассемблер есть!)ti — посмотреть регистрыm — изменить память
Предусмотрена там и справочная система — команда help и ее производные. Прилагаю к этому посту pdf с фирменным описанием шеллов VxWorks. Есть и другие доки от WindRiver, легко находящиеся на просторах интернета.
Надеюсь, моя статья подвигднет кого-нибдуь на изучение кода модема. Поверьте, это крайне увлекательное и полезное занятие!
Сообщение отредактировал Abbat1985 — 09.07.20, 20:55
А куда мне его сейчас? :scratch_one-s_head: я же разблокировал модем записью в NVRAM
Так можно его обратно заблокировать:
Установка Midnight Commander (mc) в E3372s и E3372h
inst_mc_E3372.rar ( 1.81 МБ )
Сообщение отредактировал Abbat1985 — 09.07.20, 20:56
Получение доступа к консоли Линукс модема E3372h
(Первые три пункта нужно выполнить только один раз.)
Перевести модем в режим с портами (Debug mode), запустив sw_debug_mode.cmd из архива sw_mode_E3372_new.rar в посте Huawei E3372 (МТС 827F, Мегафон М150-2) — Обсуждение (Пост #35133017) .
Активировать консольный порт, введя AT-команду AT^NVWREX=33,0,4,2,0,0,0 .
Перезапустить модем — AT^RESET .
Перевести модем в Debug mode.
Подключиться терминальной программой к порту, который в ДУ называется «FC — ShallB» (USBVID_12D1&PID_1566&MI_04). Можно увидеть различные сообщения, выдаваемые в этот порт, например:
Нажать клавишу «Enter» — должен появиться запрос ввода пароля:
Password length is 0, ERR!Login failedPassword:
Готово. Теперь можно подключаться к модему telnet-клиентом, например, PuTTY.
Сообщение отредактировал Abbat1985 — 09.07.20, 20:57
Калькулятор кодов для E3372h
Написал программу для подбора кода разблокировки и кода OEM методом Decker.
E3372h_Calculator.rar ( 5.92 КБ )
При запуске на Windows 8/8.1 может показаться, что программа зависла, но это не так. Надо просто дождаться окончания длительного процесса подбора кода.Как вариант, можно запускать в режиме совместимости с Windows 7.
Примерная схема замены веб-интерфейса в E3372h на модифицированный
Сообщение отредактировал rust3028 — 06.03.15, 16:40
