Моя работа связана с телефонией. Однажды на известной торговой площадке я наткнулся на объявление о продаже бесплатно! телефонного аппарата Cisco SPA504g (на самом деле — aka Linksys/Sipura). Цена была обусловлена одной «досадной» мелочью — аппарат был «запаролен» оператором, который предоставляет услуги телефонии, отдавались они на запчасти. Аппаратов было много, прямо несколько десятков, для обучения даже такие бы пригодились. Поскольку таких аппаратов мне встречалось не мало, опыт сброса/разблокировки и даже «раскирпичивания» был, я с радостью согласился. Даже, на худой конец, на запчасти. Бородач, который выкатил тележку с горой аппаратов, без сожаления отдал её со словами типа «не охота паять». Но я то считал себя спецом, да и почти не расслышал его! Что с этого вышло — ниже.

Cisco SPA504G
Cisco SPA504G
Linksys SPA942
Linksys SPA942

Аппарат, как уже отмечалось, имеет корни от Linksys (весьма важное замечание, о котором не все догадываются), которые ранее были вообще Sipura. На заре своего погружения в VOIP я их даже путал. Не правда ли, весьма похожи? Однако аппараты не содержат ни одной общей детали, даже кнопки, даже трубки, ну разве что кабель от неё до самого аппарата.

Сами по себе аппараты слывут надежными, как автомат Калашникова, но сложными в настройке с кучей непонятных параметров. Документация по ним не слишком‑то глубока. А для сервисных центров в открытом доступе так вообще отсутствует. У Linksys‑ов неоднократно сталкивался с неработающими кнопками (аппараты все же древние, сейчас выкидывают по дешевке на торговых площадках в основном что‑то годов 2008-2012). С обратной стороны кнопок стирается токопроводящее графитовое напыление. Лучшее что можно — заменять их (резиновые кнопки), хоть на что‑то похожее.

Cisco SPA504G несколько поновее, встречаются в основном моложе 2012 годов (о них гласит характерная наклейка на задней крышке аппарата). И почему‑то очень часто встречались аппараты с лейблом на задней крышке: желтый полумесяц и синий мячик.

Agência Nacional de Telecomunicações
Agência Nacional de Telecomunicações

Родственные модели с разными буквами на конце — SPA501, SPA502, SPA512, SPA303 (без POE!!), SPA508, SPA509, SPA514, и даже весьма похожие на них SPA525 (хотя честно говоря прошивка на них несколько отличается). А SPA303 — так вообще выглядит копией SPA942, ну разве что с тремя кнопками.

Первым делом включаем аппарат, подаем ему 5В (желательно не менее 2А блок питания) в разъем на задней панели, либо Ethernet c POE в сетевую розетку SW. Телефон задумчиво молчит несколько секунд (без паники! он тестируется), потом светит диодами на прозрачных клавишах — зеленым на «громкая связь», «гарнитура» и красным на «микрофон». Потом загораются четыре оранжевых диода линий с подсветкой экрана, потом четыре диода гаснут, потом уже загораются все светодиоды (в том числе красный сверху над экраном). Потом должна вылезать заставка CISCO (ну или то, на что эту заставку поменяли при конфигурировании). В моем случае вылез гордый логотип оператора. Назовем его (не для рекламы)…. пусть «СОТЫ». Потом телефон начинает искать локальную сеть, и если кабель не вставлен в SW, зажигает красный светодиод на кнопке «микрофон» (как ни странно) — и высвечивает Initializing Network. Если в настройках стоял режим DHCP, то даже подсунув ему Ethernet, он будет инициализировать сеть. Только получив IP адрес (или восстановив его из backup) телефон наконец‑таки загрузится — сверху черная полоса и экран. В моем случае там высвечивалась заставка оператора, и практически ни одной программной клавиши в нижнем ряду.

Нажимаем кнопку с загнутым конвертиком (вторая сверху) и выбираем FactoryReset.
Телефон просит пароль. Понятное дело. Не отчаиваемся. Выбираем SetPassword, устанавливаем свой пароль для пользователя. Сохраняем, перезагружаемся. Вообще одна из отрицательных черт этого класса аппаратов — медлительность на фоне современных. Перезагрузка составляет порядка 50 секунд. Потом заходим в меню Network — там он даст установить свои параметры сети, маску, шлюз и VLAN (при работе с компьютером Windows не нужно, ну то есть отключено). Только устанавливать надо в неочевидные поля — они внизу меню типа Non‑DHCP IP address и подобные Non‑DHCP…

Подключаем компьютер, присваиваем ему адрес рядом с телефоном, открываем браузер и вбиваем IP телефона. Внимание! Аппарат не поддерживает https, и поэтому ручками в адресной строке правим на http. Открывается его web‑интерфейс. Весьма не богатый (пока). Для полного доступа ко всем настройкам надо выбрать в такой последовательности — Admin Login, потом advanced. Однако уже на этапе Admin Login всплывает окно авторизации. Логин admin, а пароль можно пытаться подобрать.

Я пробывал даже с ИИ написать скрипт для брут‑форса, однако это мало того, что небыстро, а еще и через несколько частых запросов телефон перестает на некоторое время отзываться, и дело вообще становиться невыносимо долгим.

Web-интерфейс аппарата
Web-интерфейс аппарата

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

Например так:

Чаще всего это происходит (по умолчанию) по протоколу TFTP, ну иногда по HTTP или FTP.

В примере выше бедолага пытается запросить у сервера 192.168.1.1 файлы конфигурации для своего mac-адреса SEP00E0A66641F9.cnf.xml, либо обобщенный для модели XMLDefault504G.cnf.xml, или на худой конец обобщенный XMLDefault.cnf.xml
По этой теме (как составлять файл провижинга) есть множество статей, в том числе на Хабре.

Минимальное его содержимое -

<?xml version="1.0" encoding="ISO-8859-1"?>
<flat-profile>
    <Admin_Passwd ua="na"></Admin_Passwd>
</flat-profile>

Выше указан параметр – пустой пароль администратора. Поднимаем TFTP сервер, типа tftp32 под Windows, ну или под Linux – мне нравится tftp-hpa.
В обычном случае работает обновление конфигурации даже по запросу из браузера

http://<Phone_IP_Address>/admin/resync?tftp://<Server_IP_Address>/<имя конфигурационного файла>

Но тут стоит пароль администратора.

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

Но статья не была бы такой длинной, если бы новая гора аппаратов вообще никак не провижинилась. Никуда. Только на сайт к провайдеру за регистрацией и ничего более.

Что ж, пробуем другие методы, в том числе социальной инженерии.

Подключение КГБ-ЦРУ, терморектальных криптоанализаторов, ремонтных мастерских и даже ранее официальных академии/курсов Cisco ни к чему не привели. Ремонтники либо откровенно разводили, либо пытались уговорить на замену платы. Академия же ответила осторожно – мол можно попробовать сбросить комбинацией клавиш при включении. Еще раз обращаю внимание, что аппараты Cisco серии SPA это совсем не Cisco, разве что сами телефонные трубки их роднят например с CP-7942G. И комбинации типа решетка, зажатая при включении, а затем 123456789*0# ну совсем не подходящие.

Из истории в веб-интерфейсе и в меню можно было посмотреть куда они звонили, ну и кто им звонил. Куча звонков на иностранные номера, на 8-800.. (обращаю внимание, именно так! И ни как иначе, номера +7-800…не имеют смысла, поскольку за входящий из-за границы вызов на бесплатный в РФ номер невозможно взимать плату на плече ДО границы). И из снифера можно увидеть с какими логинами на какой сервер они регистрировались.
Попробовал обратится к оператору…Тут можно написать целую сагу о техподдержке, но ограничусь малым. Обращался на горячую линию для корпоративных клиентов. Сейчас естественно, на номере поддержки сначала включаются роботы, речевые. Которые сходу требуют номер договора для корпоративного клиента. Однако добившись общения (стучался по всем линиям – в чате, на почту, по телефону) с человеком, разница не существенная. Я даже ездил в офис корпоративных клиентов. Для формирования обращения (даже не от клиента) им нужен номер договора! (пусть старого). Их практически запрограммировали, если не зазомбировали на этот критерий. Полмесяца общения привели к тому, что меня-таки услышали почти из верхов компании. Призывы о гуманитарной помощи, объяснения о том, что компания-держатель аппаратов покинула РФ, их mac-адреса, учетные записи для регистрации, история звонков с тех самых аппаратов, обернулись ответом:

«Уважаемый………, обговорив Ваш запрос с вышестоящим руководством, была создана заявка № ХХХХХХХХ, а также уведомила ответственных по части Корпоративная благотворительность.»

Неделя тишины… и ответ (надо честно сказать, что не отписка), в духе что это было очень, очень давно (как потом по истории звонков поглубже капнув, высмотрел год так 2015-2016), что все, кто мог быть причастными, скорее всего уволились.

Что ж, мы не привыкли отступать. Вспомнились обрывки статей о том, что у аппаратов есть что-то типа jtag или tty. Да…похоже бородач чего-то знал, что я не знал.

Разобрать аппарат собственно подтолкнула статья. Хотя она и о шлюзе, но делать-то больше было нечего.

Как выяснилось позднее, обрывки материалов про SPA504G тоже есть по этой теме в сети. Но скорее это мольбы о помощи в перепрошивке/раскирпичивании аппаратов на форумах, причем без ответов. Хотя выложенные там логи тоже интересны.

Откручиваем шесть винтов под torx th10 на задней панели.
Непосредственно основу телефона составляют три микросхемы.

Микросхемы телефонного аппарата Cisco SPA504G (502G)
Микросхемы телефонного аппарата Cisco SPA504G (502G)

Большая квадратная – центральный процессор. Оперативная память – на фото под ним, поменьше и с ногами вдоль длинной стороны Winbond, и самая интересующая в данный момент – флеш-память на 64МБ  MX29LV640ETTI-70G с ногами вдоль коротких торцов. Встречается еще на Али.

Еще в телефоне применен дисплей 128х64 с подсветкой, но он относится к исчезающим видам динозавров в Интернете, и при выходе из строя (а бывало) сейчас уже легче купить донора.

Нам понадобится USB адаптер, брал самый дешевый на торговой площадке.

USB-TTL преобразователь
USB-TTL преобразователь

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

Я приведу пример на Win7 ноутбуке с Putty, но можно (и у меня получалось) и на других системах, в том числе Linux. Настраиваем COM порт. Вставляем USB преобразователь в порт и ставим драйвер. Для Linux он как правило не нужен – такую древность, как адаптер виртуального порта, ядро поддерживает очень давно.

Потом на примере ОС Windows проверить, какой номер порта появился после подключения USB-TTY (виртуальный com-порт).

Правой клавишей Компьютер-Управление, и далее найти com-порт в диспетчере. В моем случае это 24.

Затем запускаем Putty, выбрать

Connection-Serial

COM24 - Скорость 9600 8-1-None-None

Выбрать Session Serial - Serial line - COM24, Speed - 9600
Чтобы сто раз потом не выбирать можно сохранить сессию, назвав её каким-нибудь удобным именем, а потом сразу выбирать из списка.

Перед тем, как припаивать, можно замкнуть передачу и прием (3 и 6 контакты обычной витой пары на преобразователе типа Cisco: зеленый и бело-зеленый). Нажимаем буквы в консоли – и в ней побегут эти же буквы. Если не бегут буквы – проблема! Смотреть внимательнее драйвер, номер и скорости порта, правильно ли нашли прием/передачу и запуск программы - произведен ли он от имени админа.

Вот так припаиваем:

Сверху вниз

GND

Пусто

Rx phone

Tx phone

Припаиваемся: передача нашего TTY кабеля на приём телефона и наоборот.

Кстати на фото желтый элемент похожий на конденсатор – самовосстанавливающийся предохранитель. Но горит по питанию если память не изменяет как правило не он, а элемент выше, это скорее варистор.

Подаем питание на телефон (5V 5,5x2,5 мм или POE в порт SW). Некоторые по подобию разъема подают питание любым блоком 5,5x2,5мм либо 9В либо 12В и получают сгоревший аппарат.
После включения питания в консоли побегут буковки, нажать ESC

Basic POST completed...     Success.
Last reset cause: Software reset (memory controller also reset)

PSPBoot1.4 rev: 1.4.0.6
(c) Copyright 2002-2008 Texas Instruments, Inc. All Rights Reserved.

Press ESC for monitor... 1  
(psbl) 

пригласительная строка станет (psbl). В это время дисплей телефона пустой, на нем горят только красный и два зеленых светодиода.

Можно посмотреть доступные команды командой

help

если дали неправильную команду, можно стереть символы Shift+Backspace, но бывает что ошиблись, и нужно отключать питание телефона.

Справка в режиме минимальной загрузки
Справка в режиме минимальной загрузки

Пример команды для просмотра флеш-памяти

fa

Покажет из каких разделов состоит флешка.

PSBL – загрузчик

ENV – хранит переменные для загрузчика

RECOVERY – раздел с образом восстановления прошивки

KOS – заводские постоянные, в том числе MAC, серийный номер, версия аппаратного обеспечения, сертификат безопасности пользователя

FFS – развернутая из образа файловая система

(psbl) fa 
Current Flash Allocation:

section :   PSBL, base : 0xb0000000, size :     122176 bytes
section :    ENV, base : 0xb0020000, size :      65536 bytes
section : RECOVERY, base : 0xb0030000, size :     131072 bytes
section :    KOS, base : 0xb0050000, size :    1048576 bytes
section :    FFS, base : 0xb0360080, size :    4789616 bytes

unallocated Space Start: 0xb0150000
unallocated Space End  : 0xb0800000
(psbl) ls 
FlashDiskDump for /
     drwxrwxrwx 0:0 a:  0 i:0 Jul 27, 1999  2:17:40am       2 bin
     drwxrwxrwx 0:0 a:  0 i:0 Jul 27, 1999  2:17:40am       2 etc
     drwxrwxrwx 0:0 a:  0 i:0 Jul 27, 1999  2:17:40am       2 ttys
      rwxrwxrwx 0:0 a: -1 i:1 Jan  1, 1970 12:00:00am 1473768 kosmos_ipp.st.gz
      rwxrwxrwx 0:0 a: -1 i:1 Jan  1, 1970 12:00:00am  969342 sipapp.o.z
      rwxrwxrwx 0:0 a: -1 i:1 Jan  1, 1970 12:00:00am  718468 spcpapp.o.z
      rwxrwxrwx 0:0 a: -1 i:1 Jan  1, 1970 12:00:00am    6629 update
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    1248 ca_crt.der
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am   12994 ca_crt.pem
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am  425079 constdat.gz
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    8000 Double-Low-Twelve-Times.raw
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    8880 Eleven-Regular-Sharp-Very-Loud-Factory-Floor.raw
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am   15520 Musical-Four-Reverb.raw
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am   90776 nmm.conf
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am  529377 pt1.ld
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    7200 Pulse1.raw
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    4000 Ring7.raw
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am  349184 spa500ds_image.dat
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    3668 spa500ds_iso8859all10mono.dat
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    3668 spa500ds_iso8859all12bmono.dat
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    1241 spa_crt.der
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am     608 spa_key.der
      rwxrwxrwx 0:0 a: -1 i:2 Jan  1, 1970 12:00:00am    8160 Ten-Medium-Warble.raw

Можно посмотреть файловую систему на FFS разделе как показано выше - команда
ls

Собственно список переменных (некоторые я уже самостоятельно добавил)

(psbl) printenv 
BUILD_OPS    	0x977
MODETTY0     	9600,n,8,1,hw
PATH         	/bin:/ttyS
CPUFREQ      	162500000
MIPSFREQ     	87500000
SYSFREQ      	87500000
PROMPT       	(psbl)
bootloaderVersion	1.4.0.6
HWA_0        	580A2087BC96
SUBNET_MASK  	255.255.0.0
IPA          	192.168.1.2
IPA_SVR      	192.168.1.1
SerialNumber 	CCQ18270C1S
HWRevision   	1.0.4
HWRevison    	1.0.4
IPA_GATEWAY  	192.168.1.1
HOSTNAME     	TNETV1050SDB

Можно самому с помощью команды setenv задать параметры

HWA_0  - mac-адрес

SUBNET_MASK           маска подсети

IPA             свой адрес

IPA_SVR              адрес сервера tftp

IPA_GATEWAY   адрес шлюза по умолчанию

Прошить аппарат из этого режима можно командой

(psbl) upgrade

Usage: upgrade [-i server_address] firmware_file

 

Прошивку можно взять на сайте Cisco. Но форум для нас пару лет как заблокирован, пользуйтесь обходными путями. Если прошивка была старше 7-5-2, то сначала надо шиться на 7-5-2b, затем на более свежие, хоть на 7-6-2g.

Но даже прошившись, вы не скинете конфигурацию.....

Для начала я отформатировал раздел FFS.

Тут все легко
fmt

И побежало форматирование, где-то одну минуту. Раздел FFS заполнится единичками.
Потом можно дать команду reboot или дернуть питание.

Телефон вывалится во второй режим - SOS Recovery Mode, который отобразится на экране.

Он чуть-чуть пошире, нежели (psbl), но из него  тоже можно прошиться. Внимательно смотрите на логи – если телефон в StaticIP, то он покажет свой адрес, маску, и путь к серверу и файлу, из которого он хочет прошиться. Или придется подкидывать DHCP.

Тут я не рассматриваю утилиту восстановления, например spa5x5-7-4-4-recovery.exe или подобные. Хотя именно эта для SPA525, однако она (если я не путаю и помнится верно) помогала и для SPA303. При старте будет выбор – прошивать или восстанавливать прошивку? Выбираем восстановление. Вместо серийника можно написать кучу FFFF, телефон прошьется, и после перезагрузки восстановится.

Из этого же файла (или подобных exe) можно выдернуть и саму прошивку – распаковываем архиватором 7z, внутри самый большой файл 112. Вытаскиваем из архива и переименовываем.

Попробовал следующую команду

fmtkosmos

После нажимаем ENTER

ждем 10-15 секунд, когда снова появится пригласительная строка, перезагружаем по питанию или командой reboot.

Телефон раза два перезагрузится, и скинет конфигурацию в дефолт.
На дисплее появится CISCO и ожидание настройки сети. Если сеть подключена и выдан DHCP – то отобразиться меню на дисплее.

Вскоре выяснился побочный эффект, не сразу запримеченный на волне радости – все аппараты сбросили серийный номер (да и не жалко), а вот mac-адрес стал у всех одинаковый. Раздел KOS сейчас содержит единички. Причем в режиме (psbl) это один mac-адрес, такой же во втором режиме (SOS RecoveryMode) и другой адрес в полностью загруженном аппарате.

Кроме того я в ходе экспериментов также удалял и раздел Recovery, в результате аппарат работал, его можно было прошить и восстановить раздел.

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

Буду рад подсказкам, как можно вернуть аппаратам разные mac.

Комментарии (9)


  1. sekuzmin
    07.11.2025 12:59

    Во-первых аплодисменты за настойчивость и смелость, после таких экспериментов устройство обычно превращается в кирпич. За что уважение инженерам, которые находят место для two stage bootloader и recovery.

    Буду рад подсказкам, как можно вернуть аппаратам разные mac.

    Если проскроллить текст выше, написано, что

    Можно самому с помощью команды setenv задать параметры

    HWA_0  - mac-адрес

    В прошивке есть упоминания нескольких MAC: HWA_0, HWA_1 и HWA_SWITCH


    1. dimone73 Автор
      07.11.2025 12:59

      Эти параметры работают только в режиме (psbl) и то, не все


    1. dimone73 Автор
      07.11.2025 12:59

      По меньшей мере они пишутся в раздел ENV, а серийник, рабочий MAC в обычном режиме + сертификат + версия HW были записаны в KOSMOS....


      1. sekuzmin
        07.11.2025 12:59

        Судя по коду ProductID, HWRevision, SerialNumber берутся из ENV

        и в  bootloader есть две команды установки переменных: стандартная и permanent

        Set a system environment variable Usage: setenv Set a system environment variable Usage: setpermenv

        А вот MAC адрес действительно хранится в первых 6 байтах 0xb0050000 (section KOS)


        1. dimone73 Автор
          07.11.2025 12:59

          Я уже много много раз перепрошивал, окирпичивал и восстанавливал тестовый аппарат.
          1. В свежих версиях, типа 7-5-6 и моложе в нормальном режиме полной загрузки нельзя получить доступ к командной строке для ввода команд. Зато это можно сделать в прошивке 7-5-2b и старше.
          2. Там есть команда для просмотра памяти d, и она абсолютно точно показывает содержимое ячеек флешки, так же как и dm в режиме минимальной загрузки.
          3. Там есть! казалось бы! спасительная команда m (Modify memory), она принимает значения, однако в результате ни чего так и не записывается.
          А все эти переменные HWA_0 и 1, и HWRevision и SerialNumber я уже давно и через setenv и через setpermenv поназаписывал, но в нормальном режиме они не действуют.
          Есть сравнительно немного полезных (слоны - животные полезные, Шариков копирайт) переменных в (psbl)
          IPA - свой
          IPA_SRV - адрес сервера tftp
          IPA_GATEWAY
          SUBNET_MASK
          и вроде бы как TFTP_FO_FNAME для имени файла прошивки из режима SOS Recovery Mode (но я что-то потерял способности прошивать телефон из этого режима, даже файлы восстановления прошивки типа spa50x-30x-7-6-2f-recovery.exe перестали действовать на аппарат)
          А сбросить конфигурацию как ни странно получается только исключительно отформатировав раздел KOS, хотя там вроде бы одни единицы.
          Если просто форматирую FFS, потом заодно для верного RECOVERY, потом перезагрузка, потом прошиваюсь из режима (psbl) и все равно подтягивается старый конфиг...
          Где же у него кнопка? (Урри копирайт). Ну дабы стереть какие-нибудь сектора, и конфиг станет дефолтный, не затрагивая MAC у запороленных (ну или восстановить MAC, его одного хватило бы для счастья). Я не собираюсь закрывать аппарат через SIP/TLS и сертификаты вроде бы как и не нужны, ну во всяком случае пока.
          Разделы KOS и RECOVERY вроде бы как мог сравнивал побайтно до форматирования, с запороленной конфигурацией, и с дефолтной - ни какой разницы не нашел...


          1. sekuzmin
            07.11.2025 12:59

            команда m (Modify memory), она принимает значения, однако в результате ни чего так и не записывается.

            команда "m" скорее модифицирует данные в RAM, а не flash.

            отформатировав раздел KOS, хотя там вроде бы одни единицы.

            Приложение kosmos_ipp.st явно получает MAC из первых 6 байт KOS. Этот раздел 1048576 байт, нужен дамп всего раздела с телефона, на котором не выполнялся ftmkosmos.

            ну или восстановить MAC, его одного хватило бы для счастья

            видимо на телефоне нет утилит, которые могут писать напрямую в любой адрес flash, кроме команды "update", которая обновляет bootloader и пишет файл по адресу 0xb0000000 (PSBL). В теории можно поменять имя секции на "KOS" и записать файл с MAC адресом и 0xff padding до сектора.


  1. dimone73 Автор
    07.11.2025 12:59

    (psbl) dm 0xb0050000 0x100000
    
    0xb0050000: e02f6d5f f7c4ffff ffffffff ffffffff - _m/.............
    0xb0050010: ffffffff ffffffff ffffffff ffffffff - ................
    0xb0050020: 43435131 37313530 364d5000 ffffffff - 1QCC0517.PM6....
    0xb0050030: ffffffff ffffffff ffffffff ffffffff - ................
    0xb0050040: 53504135 30344700 ffffffff ffffffff - 5APS.G40........
    0xb0050050: ffffffff ffffffff ffffffff ffffffff - ................
    0xb0050060: 312e302e 3400ffff ffffffff ffffffff - .0.1...4........
    0xb0050070: ffffffff ffffffff ffffffff ffffffff - ................
    0xb0050080: 00000100 00000260 00000360 000004d8 - ....`...`.......
    0xb0050090: ffffffff ffffffff 00000838 00000300 - ........8.......
    0xb00500a0: ffffffff ffffffff ffffffff ffffffff - ................
    0xb00500b0: ffffffff ffffffff ffffffff ffffffff - ................
    0xb00500c0: ffffffff ffffffff ffffffff ffffffff - ................
    0xb00500d0: ffffffff ffffffff ffffffff ffffffff - ................
    0xb00500e0: ffffffff ffffffff ffffffff ffffffff - ................
    0xb00500f0: ffffffff ffffffff ffffffff ffffffff - ................
    0xb0050100: ce6be08c db0eb5f5 c7b8d36f c9a7bbab - ..k.....o.......
    0xb0050110: 82e2d312 68573508 734f5888 978f904d - .....5Wh.XOsM...
    0xb0050120: 8c5b331c 9a189dc2 2503d48b 21f528a3 - .3[........%.(.!
    0xb0050130: cd220142 62486642 394500e0 e7215150 - B.".BfHb..E9PQ!.
    0xb0050140: 183b6902 afec7b2a 78315602 dca3daff - .i;.*{...V1x....
    0xb0050150: be888371 8185d798 1b1abe59 8065ca05 - q.......Y.....e.
    0xb0050160: 0776c3ee 56c966f1 adf15583 f33fde4b - ..v..f.V.U..K.?.
    0xb0050170: ea7e96f5 557be0fb 4209c8e1 587ed9a7 - ..~...{U...B..~X
    0xb0050180: 347f85b2 24ec56da 30a2ba75 f7fb0e2e - ...4.V.$u..0....
    0xb0050190: 1bdea1cc 321cb17d e1021031 61b233f8 - ....}..21....3.a
    0xb00501a0: 9002f1b3 a31671a3 d87402a9 c5058354 - .....q....t.T...
    0xb00501b0: ab74014b 328bb88e 89a4c200 c341ecca - K.t....2......A.
    0xb00501c0: 03f1e101 23adaee7 3f0393d9 81e97d28 - .......#...?(}..
    0xb00501d0: af23359a 8171c251 e1e9e187 bf0033fd - .5#.Q.q......3..
    0xb00501e0: 182a6645 51133f31 efd8d267 6bae30d2 - Ef*.1?.Qg....0.k
    0xb00501f0: 1bda0e85 23b387b6 4b622f2c d6a86072 - .......#,/bKr`..
    0xb0050200: 2e9b7a17 9f712922 52e11a6e f54df146 - .z..")q.n..RF.M.
    0xb0050210: 791dee01 1862dd02 b4f7a710 fdc6b674 - ...y..b.....t...
    0xb0050220: 21a941f9 b361b894 3ce7f1a6 6873fea9 - .A.!..a....<..sh
    0xb0050230: 6b412e6d 01329867 9a96d8b4 f11cacd6 - m.Akg.2.........
    0xb0050240: ca47efb5 399c020f e3e0eaa3 9d92b930 - ..G....9....0...
    0xb0050250: e75e342b 21764d70 7f24717e b53868de - +4^.pMv!~q$..h8.
    0xb0050260: 02bc9bd9 7a3afa12 de548c41 3dd6a470 - ......:zA.T.p..=
    0xb0050270: cc005236 92b58900 a5d3b5cf 78ffb701 - 6R.............x
    0xb0050280: a1e74b09 a7a37f02 fddac81e f1aa946b - .K..........k...
    0xb0050290: e37f1007 f9cdb123 f478ce71 6f4e4647 - ....#...q.x.GFNo
    0xb00502a0: 40519cdc 51e462be a002668c cb962ae7 - ..Q@.b.Q.f...*..
    0xb00502b0: 3a87b519 c73271b9 e626003d 244d918e - ...:.q2.=.&...M$
    0xb00502c0: 18d32fbb 0d6d7a6a f2b59b3b f900d93f - ./..jzm.;...?...
    0xb00502d0: edb97b21 da9a7f46 1966e310 ce088120 - !{..F.....f. ...
    0xb00502e0: b06ef002 3aa55b67 ca411820 1d7a46ad - ..n.g[.: .A..Fz.
    0xb00502f0: aeeeda76 e5ec5436 1d40d731 fc79ccd3 - v...6T..1.@...y.
    0xb0050300: ef25444e fad183e7 fc0ff834 a00e9054 - ND%.....4...T...
    0xb0050310: 4ef4e07d 574723cd aa62ad7d 02410085 - }..N.#GW}.b...A.
    0xb0050320: cee16066 464c98e6 ba2cacde cc900a2c - f`....LF..,.,...
    0xb0050330: 92ce07f8 89e034f9 8b6bdc76 8dcca6ff - .....4..v.k.....
    0xb0050340: bcdcbe44 40d7a6fd ef9010a9 51506b9f - D......@.....kPQ
    0xb0050350: 1a310842 47469cb3 e39b1c2d 94245101 - B.1...FG-....Q$.
    0xb0050360: 308204d4 3082043d a0030201 02021041 - ...0=..0....A...
    0xb0050370: 5bb6478d 1572482c ac9fb7a9 2553e930 - .G.[,Hr.....0.S%
    0xb0050380: 0d06092a 864886f7 0d010104 05003081 - *.....H......0..
    0xb0050390: e2310b30 09060355 04061302 55533113 - 0.1.U........1SU
    0xb00503a0: 30110603 55040813 0a43616c 69666f72 - ...0...UlaC.rofi
    0xb00503b0: 6e696131 11300f06 03550407 13085361 - 1ain..0...U.aS..
    0xb00503c0: 6e204a6f 73653120 301e0603 55040a13 - oJ n 1es...0...U
    0xb00503d0: 17536970 75726120 54656368 6e6f6c6f - piS. aruhceTolon
    0xb00503e0: 67792c20 496e632e 3130302e 06035504 -  ,yg.cnI.001.U..
    0xb00503f0: 0b132753 69707572 61205465 63686e6f - S'..rupieT aonhc
    0xb0050400: 6c6f6779 20436572 74696669 63617465 - ygolreC ifitetac
    0xb0050410: 20417574 686f7269 74793132 30300603 - tuA iroh21yt..00
    0xb0050420: 55040313 29536970 75726120 54656368 - ...UpiS) aruhceT
    0xb0050430: 6e6f6c6f 67792043 6c69656e 7420526f - olonC ygneiloR t
    0xb0050440: 6f742041 7574686f 72697479 20313123 - A toohtuytir#11 
    0xb0050450: 30210609 2a864886 f70d0109 01161477 - ..!0.H.*....w...
    0xb0050460: 65626d61 73746572 40736970 7572612e - amberetspis@.aru
    0xb0050470: 636f6d30 1e170d31 33303430 31313733 - 0moc1...04033711
    0xb0050480: 3933385a 170d3434 30343131 31373339 - Z83944..11409371
    0xb0050490: 33385a30 81cc310b 30090603 55040613 - 0Z83.1.....0...U
    0xb00504a0: 02555331 15301306 03550408 130c6530 - 1SU...0...U.0e..
    0xb00504b0: 32663664 35666637 63343114 30120603 - d6f27ff5.14c...0
    0xb00504c0: 55040713 0b434351 31373135 30364d50 - ...UQCC.5171PM60
    0xb00504d0: 31163014 06035504 0a130d43 6973636f - .0.1.U..C...ocsi
    0xb00504e0: 20537973 74656d73 31123010 06035504 - syS smet.0.1.U..
    0xb00504f0: 0b130963 6973636f 2e636f6d 31383036 - c...ocsimoc.6081
    0xb0050500: 06035504 03132f53 50413530 34472c20 - .U..S/..05AP ,G4
    0xb0050510: 4d41433a 20653032 66366435 66663763 - :CAM20e 5d6fc7ff
    0xb0050520: 342c2053 65726961 6c3a2043 43513137 - S ,4aireC :l71QC
    0xb0050530: 31353036 4d50312a 30280609 2a864886 - 6051*1PM..(0.H.*
    0xb0050540: f70d0109 01161b6c 696e6b73 79732d63 - ....l...sknic-sy
    0xb0050550: 65727461 646d696e 40636973 636f2e63 - atrenimdsic@c.oc
    0xb0050560: 6f6d3081 9f300d06 092a8648 86f70d01 - .0mo..0.H.*.....
    0xb0050570: 01010500 03818d00 30818902 818100c9 - ...........0....
    0xb0050580: 30e072da abe18c74 22c269d9 71bf56ae - .r.0t....i.".V.q
    0xb0050590: 7b6056bb 7d4dd8cd a43b9383 87ee6b55 - .V`{..M}..;.Uk..
    0xb00505a0: a8eca7b1 90a3a389 180388e1 c367f5d6 - ..............g.
    0xb00505b0: 24c91c8f 71288e50 3fbee976 d2962cb2 - ...$P.(qv..?.,..
    0xb00505c0: 6f329716 f5b851e7 ffe107d8 7e2f85d3 - ..2o.Q......../~
    0xb00505d0: cc88a321 8b21aeda 5105efea 627fb8a1 - !.....!....Q...b
    0xb00505e0: 58b38b32 e7ada3c2 ca314b4b 34c7de4f - 2..X....KK1.O..4
    0xb00505f0: f1d44be0 23dc7165 3fdeb6a7 f51b7302 - .K..eq.#...?.s..
    0xb0050600: 03010001 a382019d 30820199 30090603 - ...........0...0
    0xb0050610: 551d1304 02300030 21060960 86480186 - ...U0.0.`..!..H.
    0xb0050620: f842010d 04141612 50726f64 75637420 - ..B.....dorP tcu
    0xb0050630: 69732053 50413530 3447301d 0603551d - S si05AP.0G4.U..
    0xb0050640: 0e041604 14c858c2 72e3c320 95831ff4 - .....X.. ..r....
    0xb0050650: 2555ff66 49bb1857 6a308201 20060355 - f.U%W..I..0jU.. 
    0xb0050660: 1d230482 01173082 01138014 4c83382b - ..#..0......+8.L
    0xb0050670: 9dc6e365 ab195131 a5c9359b 510a2321 - e...1Q...5..!#.Q
    0xb0050680: a181e8a4 81e53081 e2310b30 09060355 - .....0..0.1.U...
    0xb0050690: 04061302 55533113 30110603 55040813 - .....1SU...0...U
    0xb00506a0: 0a43616c 69666f72 6e696131 11300f06 - laC.rofi1ain..0.
    0xb00506b0: 03550407 13085361 6e204a6f 73653120 - ..U.aS..oJ n 1es
    0xb00506c0: 301e0603 55040a13 17536970 75726120 - ...0...UpiS. aru
    0xb00506d0: 54656368 6e6f6c6f 67792c20 496e632e - hceTolon ,yg.cnI
    0xb00506e0: 3130302e 06035504 0b132753 69707572 - .001.U..S'..rupi
    0xb00506f0: 61205465 63686e6f 6c6f6779 20436572 - eT aonhcygolreC 
    0xb0050700: 74696669 63617465 20417574 686f7269 - ifitetactuA iroh
    0xb0050710: 74793132 30300603 55040313 29536970 - 21yt..00...UpiS)
    0xb0050720: 75726120 54656368 6e6f6c6f 67792043 -  aruhceTolonC yg
    0xb0050730: 6c69656e 7420526f 6f742041 7574686f - neiloR tA toohtu
    0xb0050740: 72697479 20313123 30210609 2a864886 - ytir#11 ..!0.H.*
    0xb0050750: f70d0109 01161477 65626d61 73746572 - ....w...amberets
    0xb0050760: 40736970 7572612e 636f6d82 1045bf48 - pis@.aru.mocH.E.
    0xb0050770: c0ceb88f 7bc8e16d 85625a5b 8f301106 - ....m..{[Zb...0.
    0xb0050780: 09608648 0186f842 01010404 03020780 - H.`.B...........
    0xb0050790: 30130603 551d2504 0c300a06 082b0601 - ...0.%.U..0...+.
    0xb00507a0: 05050703 02300d06 092a8648 86f70d01 - ......0.H.*.....
    0xb00507b0: 01040500 03818100 19973ffe fc8e4b6e - .........?..nK..
    0xb00507c0: addd181c 09b7b7f0 8a8bf139 d01a9ab4 - ........9.......
    0xb00507d0: de252f81 adcd5100 cb1df52e 36d067d5 - ./%..Q.......g.6
    0xb00507e0: ad64f40b d9933b2e 2f0530a0 a3658584 - ..d..;...0./..e.
    0xb00507f0: 511ec186 437715f8 18866ce3 b5659f49 - ...Q..wC.l..I.e.
    0xb0050800: 744f050d e8057473 45fb950e fd132691 - ..Otst.....E.&..
    0xb0050810: ff760b3e 8d91793d 7acb907e ffad1374 - >.v.=y..~..zt...
    0xb0050820: 32473d44 92b1e8e4 ac09ff59 ccb1e174 - D=G2....Y...t...
    0xb0050830: bf01d92d 08c764f2 bf089bb6 634002c1 - -....d........@c
    0xb0050840: 4a23e9ec ed712ca5 ffffffff ffffffff - ..#J.,q.........
    0xb0050850: ffffffff ffffffff c1d22195 28782f8b - .........!.../x(
    0xb0050860: d58b138e 6c8ea543 ffffffff ffffffff - ....C..l........
    0xb0050870: ffffffff ffffffff 7a0bfa39 8755aeca - ........9..z..U.
    0xb0050880: b663a571 6058b171 ffffffff ffffffff - q.c.q.X`........
    0xb0050890: ffffffff ffffffff 322c2a5c a76bc31f - ........\*,2..k.
    0xb00508a0: ece6ada0 e96cc944 ffffffff ffffffff - ....D.l.........
    0xb00508b0: ffffffff ffffffff 0e5cbf36 4755f823 - ........6.\.#.UG
    0xb00508c0: 67d961ab f33c1543 ffffffff ffffffff - .a.gC.<.........
    0xb00508d0: ffffffff ffffffff 125fd7ce aae495e4 - .........._.....
    0xb00508e0: 04512350 8e691c4d ffffffff ffffffff - P#Q.M.i.........
    0xb00508f0: ffffffff ffffffff c4ddc4b1 b8f7ff60 - ............`...
    0xb0050900: bf2a58ab 8f1823b7 ffffffff ffffffff - .X*..#..........
    0xb0050910: ffffffff ffffffff 238c5af9 37135443 - .........Z.#CT.7
    0xb0050920: 90d19dac 8068849e ffffffff ffffffff - ......h.........
    0xb0050930: ffffffff ffffffff b3998a4c b4f68be9 - ........L.......
    0xb0050940: 8ecc89eb 738ae5f3 ffffffff ffffffff - .......s........
    0xb0050950: ffffffff ffffffff 6981326f 271bc479 - ........o2.iy..'
    0xb0050960: 78ba123d 6c39b454 ffffffff ffffffff - =..xT.9l........
    0xb0050970: ffffffff ffffffff 56172a5c 6b46d837 - ........\*.V7.Fk
    0xb0050980: c5e35a3b bcac27ee ffffffff ffffffff - ;Z...'..........
    0xb0050990: ffffffff ffffffff 11c55d7f b4bd4732 - .........]..2G..
    0xb00509a0: b714125f 90a0fb6f ffffffff ffffffff - _...o...........
    0xb00509b0: ffffffff ffffffff 811b5ff8 55319049 - ........._..I.1U
    0xb00509c0: 7736935d f6011e0b ffffffff ffffffff - ].6w............
    0xb00509d0: ffffffff ffffffff 49d67c5c eb62fb45 - ........\|.IE.b.
    0xb00509e0: 0805a6e7 723b8993 ffffffff ffffffff - ......;r........
    0xb00509f0: ffffffff ffffffff 037e54b4 48a33147 - .........T~.G1.H
    0xb0050a00: b6ec45d9 6e746cf1 ffffffff ffffffff - .E...ltn........
    0xb0050a10: ffffffff ffffffff 6aa806db 8e103848 - ...........jH8..
    0xb0050a20: c0ac5d97 8afe59c8 ffffffff ffffffff - .]...Y..........
    0xb0050a30: ffffffff ffffffff d9102662 ee453ef9 - ........b&...>E.
    0xb0050a40: 8c21a537 48bdbdb8 d0f63f1a 1fc4e955 - 7.!....H.?..U...
    0xb0050a50: 69b559f3 a225f3d9 78b2f287 cda56863 - .Y.i..%....xch..
    0xb0050a60: b3e03345 c0fd04e1 5ec5b2b6 6a181abb - E3.........^...j
    0xb0050a70: b4fba576 5330bf07 6d982b35 edecfd46 - v.....0S5+.mF...
    0xb0050a80: 441d629e 8353d6c5 4a86b7c2 e9fce930 - .b.D..S....J0...
    0xb0050a90: 0af5b3b5 3fc6dfbd 6b2319da c0827ba4 - .......?..#k.{..
    0xb0050aa0: 302f7b13 f19b9923 1b137b27 83dc3700 - .{/0#...'{...7..
    0xb0050ab0: e996f8be 2d7b70d2 6454db77 39541f02 - .....p{-w.Td..T9
    0xb0050ac0: 18fb6856 89457bf8 191c3bd6 d0fa9075 - Vh...{E..;..u...
    0xb0050ad0: 69e61dfd 5e1bf9fa e02f3bc8 9b50363f - ...i...^.;/.?6P.
    0xb0050ae0: 5059f249 5b34366f 947f55d8 23ef7409 - I.YPo64[.U...t.#
    0xb0050af0: 4cf6a666 a4f70a74 d94c5076 1bf1d22b - f..Lt...vPL.+...
    0xb0050b00: 261cce20 8c6f86d9 9390044a f1441626 -  ..&..o.J...&.D.
    0xb0050b10: de1c8735 a878c7fc 8df4416b 0bcab031 - 5.....x.kA..1...
    0xb0050b20: ff5a55fa 4c906685 b55ea614 5171d5c6 - .UZ..f.L..^...qQ
    0xb0050b30: 9342802c 5c52cd52 ffffffff ffffffff - ,.B.R.R\........
    User Abort так как далее единички

    Собственно вот раздел KOS, первые 6 байт MAC, далее с отступом серийник, версия продукта, версия HW, еще нечто, и клиентский сертификат.

    Это всё я видел на еще не сброшенных аппаратах. Но, к сожалению, судя по всему, туда ни чего не запишется. Экзотические способы по выпаиванию и программированию пожалуй излишни.
    Спасибо за помощь-поддержку. Лихо у вас получается обратно декомпиллировать.
    Хитрая особенность по HW_0 в (psbl) еще заключается в том, что как-то его надо по-другому записать что-ли. У меня он на постоянную setrepmenv записан в тестовом аппарате и уже не поправить, и fmt как-то для переменных в ENV не работает, а должна. Суть да дело, вместо записанной переменной 580a2087bc96 он светит 960000000000
    Да, и после сброса у всех после полной загрузки адреса MAC 00:0E:A6:66:41:F9


  1. dimone73 Автор
    07.11.2025 12:59

    Вот еще собрат по несчастью

    https://forum.ixbt.com/topic.cgi?id=88:5469&ysclid=mhrcyw8rdy358414959

    Там (да я вспоминаю тоже где-то видел еще) - в (psbl) есть переменные HWRevision SerialNumber но "пустышки"


  1. dimone73 Автор
    07.11.2025 12:59

    Способности прошивать аппарат из SOS Recovery Mode из-под windows восстановились - надо вместо серийника (которого естественно нету, ну он куча нулей) записывать F ровно двенадцать раз, не более - тогда это означает "любой" серийник