EIKA 0 6 февраля, 2022 Опубликовано 6 февраля, 2022 (изменено) · Жалоба Хотим от железки на Freescale PowerQUICC получить то, что Коля Остен-Бакен хотел получить от красавицы Инги Зайонц. А именно, любви. Любви без денег. А именно, пары опций, которых нет, и которые производитель ранее предлагал за деньги, а теперь давно не поддерживает этот продукт и ничего для него не продает. Дано: Железка на MPC859T (усеченка MPC866 - 1 SCC вместо 4 SCC). JTAG редкий, тип USBTAP DPI (PQI), тип коннектора DPI. В продаже нет ни орига, ни клонов. Только пара следов в инете, что он вообще существовал когда-то, видимо, 15 лет назад. Для начала зашли в Linux Embedded под рутом, там старое ядро 2006-2007 годов с шеллом. В целом все понятно, хотя бинарники скомпилированы и реверсятся с огромным трудом и только частично. Из портов есть только ETH и SERIAL, портов для НЖМД и клавиатуры-мыши-монитора нет. Есть сервисное руководство, и там есть кое-что на тему отладки. Но без JTAG это не имеет смысла (если кому интересно, покажу в ЛС). Что мы попробовали: Мы нашли конечный файл OPTIONS.CFG, который содержит в себе список того, что куплено, а что нет. Но это какой-то информационный файл, который, во-первых в /tmp (и переписывается при ребуте каждый раз), во-вторых, не приносит результата. И мы пошли дальше. OPTIONS.CFG правится процессом MODECONTROL. Процесс MODECONTROL получает данные от процесса RXIFACE. Так как все процессы говорят между собой через UDP, мы подделали обмен, и сказали MODECONTROL'у, что у него все куплено. MODECONTROL согласился с этим и радостно сообщил об этом в логах, но но это не привело к нужному результату. Видимо, это конец лицензирования, который уже по большей части справочный/вторичный. А Win32 App работает с более первичной частью. Как устроена работа платных кодов нормальным образом: У каждой опции есть код активации, он привязан к серийному номеру устройства или флешки (от другого экземпляра устройства коды не подойдут). Производитель на основании этого кода генерит ответный код и присылает его вам Вы вводите код в Win32 App Win32 App по своему собственному протоколу, возможно шифрованному, over UDP, работет с железкой За обмен с Win32 App отвечает программный сервер (процесс), называется KSSSERVER KSSERVER далее ломится в другой процесс RXIFACE RXIFACE далее лезет в ttyS2 ttyS2 драйвером сидит на SCC (это часть процессора, см. картинку.) Дальше мы в тупике, хотя и умеем гонять свой код на железке. Потому, что tail -f ничего не дает по ttyS2, по крайней мере, когда ядро Linux уже загрузилось. Еще данные: Брутить коды нереально исходя их длины и используемого алфавита, даже на топовых GPU Сниф обмена Win32 App с железкой ничего не дает, протокол неизвестный. JTAG на картинке, согласно документации, переводит устройство из обычного режима загрузки из памяти, в режим загрузки с внешней тулзы. В этом режиме доступен просмотр содержимого памяти, регистры процессора, а также загрузка буткода извне (в т.ч. если он был поврежден или это новая заводская плата). Также через интерфейс можно установить брейк-пойнты и вотч-пойнты. Вопросы: Будут у кого идеи, возмездные и безвоздмездные? Если еще что-то нужно из команд, скриншотов и прочего, прошу запрашивать в теме. Все будет сделано и выложено. Есть у кого такой JTAG-интерфейс в РФ? В аренду или продать-купить? P.S. Ищу человека, который бы мог присоединиться к небольшой команде хоббистов и реверсеров - для этой задачи и может быть когда-то других. Проект некоммерческий, финансирование за свой счет из зарплаты. Поэтому все мы занимаемся этом себе в ущерб, и в идеале ищем таких же увлеченных людей. Хотя какие-то отдельные сдельные виды работ возможны и за деньги. Изменено 6 февраля, 2022 пользователем EIKA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 49 6 февраля, 2022 Опубликовано 6 февраля, 2022 (изменено) · Жалоба 6 часов назад, EIKA сказал: У каждой опции есть код активации, он привязан к серийному номеру устройства Если не секрет, что хоть это за оборудование такое, может оно уже лет 10 назад устарело и проще на утилизацию? По инету гуглится что-то вроде шлюза на какой-то древний радиопротокол TaitNet P25... Изменено 6 февраля, 2022 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EIKA 0 6 февраля, 2022 Опубликовано 6 февраля, 2022 (изменено) · Жалоба 1 hour ago, mantech said: Если не секрет, что хоть это за оборудование такое, может оно уже лет 10 назад устарело и проще на утилизацию? По инету гуглится что-то вроде шлюза на какой-то древний радиопротокол... Да, оно несвежее, дата первых изделий - 2005 год. Это с одной стороны. Но с другой стороны, в этой отрасли нет особо новомодных тенденций, типа дисплея HD, WiFi WAVE 2 и пр. А железо делали тогда так, что оно 15 лет работает в пыли и голубином помете, и ничего. Так что все актуально в целом. Второе. Оборудование стоило $$,$$$, даже по цене 10% это большие деньги. Так что выбор небогат и хочется добить. Третье. Это радиолюбительский проект, и для него все годится. Остается сделать и запустить. Четвертое. И еще есть небольшой спортивный интерес. *** Сегодня вот что поняли, что tail -f /dev/ttyS2 убивает коммуникацию между процессами, то есть, мы в нее вклиниваемся и разрываем. Надо как-то придумать, как, желательно, через Linux CLI сделать зеркалирование ttyS2 в файл. Пока что нашли варианты только с компиляцией софта (это отлжим на десерт). Ну и еще есть прикол. На Telnet висит свой собственный проприетарный шелл на ~200 команд (типа там включить кулер, выключить кулер, поморгать светодиодом и так далее). И самая интересная команда, которая читает и пишет "вкусняшки", дает нулевой вывод (то есть, сама команда известна, но не возвращает никакого результата рабоы). Все остальные команды работают как описано в htlp. Пытались понять как они "убили" конкретно эту команду, но оставили при этом ее в --help, но не поняли. Да и вообще, во всем дампе флэшки (ядро, бутлоадер и все папки ФС) нет команд этого шелла в plain text. То есть, этот шелл как-то или покриптован или что-то еще. Изменено 6 февраля, 2022 пользователем EIKA Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться