[Лаборатория] Чтение/модификация прошивки

Программируем своими руками
Аватара пользователя
SHKoder
Маршал
Маршал
Сообщения: 20856
Зарегистрирован: 24 фев 2014, 10:17
Откуда: Москва, ТиНАО
Авто: C4L Exclusive+ & C4B7 Exclusive
Пробег: 55555
Прошлый авто: Honda 9cv AT
:
За активность - Серебро За активность - Золото Герой труда
Благодарил (а): 3218 раз
Поблагодарили: 4576 раз
Контактная информация:

[Лаборатория] Чтение/модификация прошивки

#1

Сообщение SHKoder » 18 апр 2019, 14:57

Все началось с того, что покупая себе NAC у Александра keknas, я осознавал, что на С4 седан эта магнитола, никогда не ставилась.
Чуть раньше, мы поняли, что NAC для Европы имеет прошивки версий 21.х.х.х, а для Китая 22.х.х.х. А для Бразилии так вообще 65.х.х.х

[Лаборатория] Чтение модификация прошивки - 54a84714-2a50-4d5e-90bc-65e8bbc57257.jpg


Чуть позже я этот пост возможно облагородю, и добавлю еще информационных фотографий.

Так вот, подходя к сути мысли. Покупая блок NAC у Александра, мы проговорили, что он мне привезет именно Европейский NAC, из той самой Европы, где С4 седанов нет априори. И тогда появилось опасение, что на картинках - информация о функции, будет нарисован силуэт всего чего угодно, кроме того что ожидаемо, начиная от C4B7, Picasso, DS4... В итоге оказалось, что экран мне привезли от Jumpy, если верить артикулу. А вот на блоке был написан VIN от C4B7. В общем какая-то сборная солянка.

Ну да ладно, главное, что работает самое основное. Но я опять бегу впереди паровоза.

Деньги Александру отданы, уморительное ожидание двух месяцев и догадок, будет ли все же силуэт С4 седана на картинках. Все эти два месяца я изводил сея и обращался ко многим друзьям, как можно вскрыть прошивку и посмотреть, есть ли в ней в принципе изображения С4 седана.
Тогда, я руководствовался логикой, о том, что магнитоле будет достаточно включить параметр со значением C4L и она сама должна найти нужные изображения. Но вскрыт прошивку оказалось не так то и просто.

Стали доступны прошивки для NAC от Китайской магнитолы 22.06.17.42.

Между тем они относительно легко открываются архиваторами, и можно извлечь из них метафайлы
[Лаборатория] Чтение модификация прошивки - Fonction_Daylight_fond.png
[Лаборатория] Чтение модификация прошивки - Fonction_Daylight_01.png

[Лаборатория] Чтение модификация прошивки - Fonction_AUTORRWiperInMAR_fond.png


Чем больше я вглядывался в эти метафайлы, тем больше я узнавал о новых функциях ситроен-автомобилей

[Лаборатория] Чтение модификация прошивки - Fonction_SpeedAdvisor_01.png
[Лаборатория] Чтение модификация прошивки - Fonction_ReinitDSGi_01.png


И даже встретился Citroen C-Quatro

[Лаборатория] Чтение модификация прошивки - Fonction_SelectRRHingedPanel_PLIP_fond.png


И вот он искомый:
[Лаборатория] Чтение модификация прошивки - Fonction_IndexingRearDriving_fond.png

[Лаборатория] Чтение модификация прошивки - Fonction_SpeedAdvisor_fond.png


Но только с новой мордой
[Лаборатория] Чтение модификация прошивки - Fonction_BlindSpotMonitoring_fond.png


Файлы лежат в каталоге:
Firmware\AUTO\1010122\NAC_B2\OVIP\ui1-app-data-resource.tar\ui1-app-data-resource\media\datastore\ui\HMIResources\Universes\Essentiel\projects\carline_6\images
Спасибо, что показал файл с картинками Александр frog2050

Но я опять повторюсь, эти файлы доступны только в Китайской прошивке легко и просто.

Между тем, хочу сказать, что встречались картинки с автомобилями марок Citroen, DS, Peugeot. А вот Opel мне не попадался. Но это лишь Китайская прошивка, и 22.06.17.42, не факт, что это из последних прошивка, или актуальных. Так что шансы, есть. Потому как на современные Opel абсолютно точно устанавливается NAC.

А вот что касается Европейской прошивки. То тут все гораздо сердитее. Хотя прошивки разных версий в свободном доступе:
Прошивки NAC/RCC (Пост SHKoder #226792)

Но особо сути, это не решает.
Однако, все что исследовано и я буду повествовать ниже, полная заслуга Дмитрий66. Я лишь только технически воспользовался инструментом, и получил в руки ожидаемый результат. А вот уж где Дмитрий нашел правильно ушко иголки, и смог в него вставить правильно нитку - для меня остается загадкой.

Итак, имеем прошивку Европейского NAC PSA_ovip-int-firmware-version_21-07-16-32_NAC-r0_NAC_EUR_WAVE2 - версии 21-07-16-32. Крайняя на текущий момент.
Распоковываем ее содержимое в каталог, а вот дальше то и все. Почти каждый файл прошивки имеет расширение архива, а внутри он имеет структуру далеко не архива.

Возьмем к примеру маленький файл по размеру:

..\SWL\001315031524207679\Firmware\AUTO\1010186\NAC_B2\OVIP\datastore_rw-app-data-resource.tar.gz

Открываем его текстовым редактором и видим:

Код: Выделить всё

MIME-Version: 1.0
Content-Disposition: attachment; filename="smime.p7m"
Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m"
Content-Transfer-Encoding: base64

MIIEggYJKoZIhvcNAQcDoIIEczCCBG8CAQAxggF2MIIBcgIBADBaME0xCzAJBgNV
BAYTAkZSMQ4wDAYDVQQHEwVQYXJpczEcMBoGA1UEChMTUFNBIFBldWdlb3QgQ2l0
cm9lbjEQMA4GA1UEAxMHZW5jLWtleQIJAOJlm7CeDqFfMA0GCSqGSIb3DQEBAQUA
BIIBAGMN5aF4bUT0UHC/wbyAl6gyTs5n809U8QRQUUbVXN5jTumQRAv3ykxYDqa3
UXMK9K0v3JmNxY/46j3cxzHj2ajR3FxvTUoGnOq4J8ZnQlzpjpURPCSPgwWIhVwY
pykHjzuCz0LXVDo8rpo4XaY5fMOyeE6Q0pocwbYGRvaRfL7Nk7rI4bODYq+Q7ncA
zkEW2FcwBAIUNdJ/nrY5vzNp6kC24nvJtl0vNM1TnRwRzN2fD6UFPW/4n1BK/H72
BOY2ccLtWMhzwNscVE/IwFkUhhfyz3zldzFigXyy68mHeR6PH3LUZ7JqAFCGXYhy
pqaPT92Ts0HHXlho7y6nzkv2V6UwggLuBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEq
BBBiw/Asauq2vDwAAD/+2p6HgIICwOpCh22Wsg6hH9PH3xualtAI6uL4GleQz5Db
xiImzNJ9hoEHwpCUZKHoY/2BZGyZGpExgB11YzPbT7A1YG3N9njtibmgBgp1tJV0
uvOsZ96st/NAsaqKYyD7BWr9oZEh7yWBL5P97k+0E7rgmuFXs4EWgjCDeNPQsRET
uwKhKJwecPl3Gz6wJhIIegwrqwFbAdlMKbUC/bUuTseC0hPNPaIOPWF2Lh4gEuCY
Gp9CMbEB21qQ5vO6i0Ytj9R5bJKZa20ZG1pB/XlqSbjViI+kx8pFa+WetJ+vDW9h
YLQNEqUqWskMqOQs2GtmxV8vacWfHSuD8ivEiifdQU7KeGnbr1uaS6MYlaL8I1+0
U56EYjzUtHJ+/ozGfJnuzayegbON3zmbK5y9v/XElAgno5IYCJNqbSjdEPHtq2rt
7dbUDc6qs9k3ZJ3i92Wc/ozgusV1ZnG5nE9pfB0cZUJBTSzWjc96dpFKvVYCuQQT
HlUM7Soul/IkZNvcJfk0p2iRFo+pUJt25CvNSdnHlQqIKT3C2qPCnA4L6ARzs+XF
kvpVAC/B9uRG1yG5krXh0qa4oXuyY7/mjghMDKhLBmO7brEjsyMzE0oTeTESH10l
H+CQkHDN2WOuli4leN+mLYqOZN9W0O8wfjYiNtGlmnwB+j2pG1KlP8/NEpiuO2L2
/n9fR9Vc8eA1eZi7sYaxJmKk0G/qBBQpYlj/WldYuGfcC8kYU/MePjxwkgY14nOn
AD4bbz+VdbR9tno+5CUzXAo33YgqhordLDCMwRZOAWIeRaebL1qMFtJg1RQxpf41
xpSXmohUJ9K96qFFpAT3k8Q8tAQIFSCQZdUv/jRiwfTzcOJzjBot2Z5eVEXF5e8J
yo17ELjEb32lyOk7pOn8bmMVNzoemF++bCEahWlaMshX43TZzNBC5FYnJMoj/zfr
FbYjJbES


Видно, что у файла есть заголовок, в котором есть информация о файле и тело файла.

И вот тут нам пригождается тот самый инструмент:
ASN.1 Editor
https://www.sysadmins.lv/projects/asn1e ... fault.aspx
Когда я впервые увидел это, у меня даже промелькнули мысли о какой-то излишней оборонке по госзаказу.

В конечном счете это особая структура файлов, и даже группы файлов, и защищена от модификаций.
Скачать инструмент можно тут:
https://www.sysadmins.lv/dl/27.aspx

Это приложение, которое может открывать файлы, упакованные методом ASN.1

Для этого нам нужно, взять наш файл
datastore_rw-app-data-resource.tar.gz

Открыть его в текстовом редакторе и снести служебную информацию в шапке файла
[Лаборатория] Чтение модификация прошивки - ScreenShot_2019-04-18_144920.png


Обратите внимание, что в некоторых файлах служебная информация есть и внизу файла. Они сообщают о конце файла

Таким образом, мы разложили структуру нашего файла, и иногда даже удается прочитать информацию в явном виде
[Лаборатория] Чтение модификация прошивки - ScreenShot_2019-04-18_145204.png


Иногда, даже удается выгрузить метаданные в формате XML структуры данных.
Но бывает и так, что вложен файл, архив или изображение, шаблон или звуковой исполняемый файл. С которым не понятно что делать дальше. По факту, это просто набор информации, без типизации, без структуры. И это осложняет работу с этими файлами далее.

На этом стопор. Что делать далее? У кого есть идеи?

Аватара пользователя
frog2050
Маршал
Маршал
Сообщения: 14129
Зарегистрирован: 13 апр 2014, 21:03
Откуда: Москва
Авто: Citroen C4L Optima, 120л.с. Белый
Пробег: 56400
Прошлый авто: Citroen C4(B7) Хэтч проехал 96т.км за 3,5 года
:
За активность - Серебро За активность - Золото Мастер на все руки
Благодарил (а): 1430 раз
Поблагодарили: 2064 раза

[Лаборатория] Чтение/модификация прошивки

#2

Сообщение frog2050 » 18 апр 2019, 15:16

Интересно, что означает "smime.p7m" ?
Он часто встречается в Европейских прошивках.
Изображение
Есть Лексия, Бутово.

Аватара пользователя
SHKoder
Маршал
Маршал
Сообщения: 20856
Зарегистрирован: 24 фев 2014, 10:17
Откуда: Москва, ТиНАО
Авто: C4L Exclusive+ & C4B7 Exclusive
Пробег: 55555
Прошлый авто: Honda 9cv AT
:
За активность - Серебро За активность - Золото Герой труда
Благодарил (а): 3218 раз
Поблагодарили: 4576 раз
Контактная информация:

[Лаборатория] Чтение/модификация прошивки

#3

Сообщение SHKoder » 18 апр 2019, 16:08

frog2050
PKCS #7
PKCS
У меня были мысли в эту сторону

Так как:
[Лаборатория] Чтение модификация прошивки - ScreenShot_2019-04-18_160708.png

Аватара пользователя
Дмитрий66
Полковник
Полковник
Сообщения: 2033
Зарегистрирован: 13 янв 2014, 13:06
Откуда: Москва, Капотня
Авто: C4Sedan, Exclusive, МКПП, eMyWay, Коричн., LEXIA, FreeDrive
Пробег: 109000
Прошлый авто: Citroen C3
:
За активность - Серебро Золотые руки Архивариус
Благодарил (а): 140 раз
Поблагодарили: 368 раз

[Лаборатория] Чтение/модификация прошивки

#4

Сообщение Дмитрий66 » 18 апр 2019, 16:10

frog2050 писал(а):Источник цитаты Интересно, что означает "smime.p7m" ?

Он встречается не только в Европейских прошивках. Это зашифрованное сообщение, даже твоя почта может быть приходит в этом формате, но ты этого не видишь. Нужен сертификат и пароль на сертификат.
С сертификатом достаточно просто, они лежат в самой прошивке. А вот с паролем....

SHKoder найди в прошивке сертификаты и открой их просмотром сертификатов. А потом приглядись к открытому в ASN.1 редакторе файлу. Видишь?

Отправлено спустя 2 минуты 57 секунд:
SHKoder писал(а):Источник цитаты Иногда, даже удается выгрузить метаданные в формате XML структуры данных.

Это как? (Мощно задвинул!).
Изображение

Аватара пользователя
SHKoder
Маршал
Маршал
Сообщения: 20856
Зарегистрирован: 24 фев 2014, 10:17
Откуда: Москва, ТиНАО
Авто: C4L Exclusive+ & C4B7 Exclusive
Пробег: 55555
Прошлый авто: Honda 9cv AT
:
За активность - Серебро За активность - Золото Герой труда
Благодарил (а): 3218 раз
Поблагодарили: 4576 раз
Контактная информация:

[Лаборатория] Чтение/модификация прошивки

#5

Сообщение SHKoder » 18 апр 2019, 16:23

Дмитрий66 писал(а):...
SHKoder писал(а):Источник цитаты Иногда, даже удается выгрузить метаданные в формате XML структуры данных.

Это как? (Мощно задвинул!).


Мы с тобой выгружали XML же, в файлах, который выгрузил NAC на флешку.
Чуть замылю данные, если это в паблик пойдет

Дмитрий66 писал(а):Там и номер твоей магнитолы, и твой ВИН, и версия ПО.

Код: Выделить всё

 <?xml version="1.0" encoding="UTF-8"?>
<InstallKey>
    <InstallHeader>
        <network_vin>5a38544e4435465339444d3031#####</network_vin>
        <coded_vin>5a38544e4435465339444d3031#####</coded_vin>
        <hw_ref_number>9822232#####</hw_ref_number>
        <uin>0D012519C9D4E#######</uin>
        <ecu_type>NAC_EUR_WAVE2</ecu_type>
    </InstallHeader>
    <Modules>
        <Module>
            <Name>ovip-int-firmware-version</Name>
            <Version>21.07.16.32_NAC-r0</Version>
        </Module>
        <Module>
            <Name>map-eur</Name>
            <Version>1020.9305-r0</Version>
        </Module>
    </Modules>
</InstallKey>

Аватара пользователя
Дмитрий66
Полковник
Полковник
Сообщения: 2033
Зарегистрирован: 13 янв 2014, 13:06
Откуда: Москва, Капотня
Авто: C4Sedan, Exclusive, МКПП, eMyWay, Коричн., LEXIA, FreeDrive
Пробег: 109000
Прошлый авто: Citroen C3
:
За активность - Серебро Золотые руки Архивариус
Благодарил (а): 140 раз
Поблагодарили: 368 раз

[Лаборатория] Чтение/модификация прошивки

#6

Сообщение Дмитрий66 » 18 апр 2019, 16:27

[Лаборатория] Чтение модификация прошивки - 2019-04-18_16-22-29.png
Изображение

Аватара пользователя
SHKoder
Маршал
Маршал
Сообщения: 20856
Зарегистрирован: 24 фев 2014, 10:17
Откуда: Москва, ТиНАО
Авто: C4L Exclusive+ & C4B7 Exclusive
Пробег: 55555
Прошлый авто: Honda 9cv AT
:
За активность - Серебро За активность - Золото Герой труда
Благодарил (а): 3218 раз
Поблагодарили: 4576 раз
Контактная информация:

[Лаборатория] Чтение/модификация прошивки

#7

Сообщение SHKoder » 18 апр 2019, 16:34

Дмитрий66
К сожалению, на этом мои знания и кончились

Аватара пользователя
frog2050
Маршал
Маршал
Сообщения: 14129
Зарегистрирован: 13 апр 2014, 21:03
Откуда: Москва
Авто: Citroen C4L Optima, 120л.с. Белый
Пробег: 56400
Прошлый авто: Citroen C4(B7) Хэтч проехал 96т.км за 3,5 года
:
За активность - Серебро За активность - Золото Мастер на все руки
Благодарил (а): 1430 раз
Поблагодарили: 2064 раза

[Лаборатория] Чтение/модификация прошивки

#8

Сообщение frog2050 » 18 апр 2019, 17:19

MIME
Там рядом лежала ссылка на WiKi
Изображение
Есть Лексия, Бутово.

Аватара пользователя
Colobok_m
Старшина
Старшина
Сообщения: 161
Зарегистрирован: 21 авг 2016, 14:29
Откуда: Воронеж
Авто: C4 седан 150лс. Exclusive коричневый
Пробег: 17000
Прошлый авто: Peugeot 405
:
За верность PSA
Благодарил (а): 47 раз
Поблагодарили: 48 раз

[Лаборатория] Чтение/модификация прошивки

#9

Сообщение Colobok_m » 21 янв 2020, 14:34

SHKoder у вас в этой теме идёт описание как работать с файлами. А как их слить с устройства, этого почему-то нет? Или это ещё неизвестно?
Изображение
Есть Lexia - Воронеж, 9 января, 68к4 (рядом с ярмаркой на Донбасской.

Аватара пользователя
SHKoder
Маршал
Маршал
Сообщения: 20856
Зарегистрирован: 24 фев 2014, 10:17
Откуда: Москва, ТиНАО
Авто: C4L Exclusive+ & C4B7 Exclusive
Пробег: 55555
Прошлый авто: Honda 9cv AT
:
За активность - Серебро За активность - Золото Герой труда
Благодарил (а): 3218 раз
Поблагодарили: 4576 раз
Контактная информация:

[Лаборатория] Чтение/модификация прошивки

#10

Сообщение SHKoder » 21 янв 2020, 14:42

Colobok_m
Есть прошивка для Китайского NAC
Прошивки NAC/RCC (Пост frog2050 #235292)

Она открытая. А вот прошивки для Европейского NAC, не удалось вскрыть

Аватара пользователя
zykovei
Лейтенант
Лейтенант
Сообщения: 380
Зарегистрирован: 08 окт 2016, 20:16
Откуда: Екатеринбург
Авто: C4 Седан 150 л.с. Lounge Белый
Пробег: 55000
Прошлый авто: Renault Sandero, Chery Amulet
Благодарил (а): 252 раза
Поблагодарили: 99 раз

[Лаборатория] Чтение/модификация прошивки

#11

Сообщение zykovei » 27 фев 2021, 20:07

Расшифровываем прошивку методом Людвига (первоисточник тут)
Инструкция на русском языке.

И так расшифровать можно только в среде Linux. Можно конечно поставить какой любо дистрибутив Linux или поднять виртуализацию на Windows типа Hyper-V, VMWare или VirtualBox, но это все долго, муторно и не интересно. C появлением Windows 10 и с какой-то версии появилась возможность установить Linux Bash. И это очень упростит нам жизнь.

Нам потребуется Windows 10 x64 и на данный момент у меня стоит 20H

[Лаборатория] Чтение модификация прошивки - 1.png


1. Включаем компонент "Подсистема Windows для Linux"

Win + R - Control - Программы и компоненты - Включение или отключение Компонентов Windows - Подсистема Windows для Linux - Перезагружаем ПК

[Лаборатория] Чтение модификация прошивки - 2.png


2. Устанавливаем необходимое приложение

Идем в магазин Windows - Microsoft Store - пишем Linux и выбираем любую оболочку, я установил Ubuntu 20.04 LTS - нажимаем Получить потом Запустить

[Лаборатория] Чтение модификация прошивки - 3.png


3. Запускам терминал

[Лаборатория] Чтение модификация прошивки - 4.png


4. Ставим mc и wget

sudo apt install mc
sudo apt install wget

[Лаборатория] Чтение модификация прошивки - 5.png


5. Качаем прошивку в /home/zykovei/ (как пример путь может быть любой) командой wget

wget https://majestic-web.mpsa.com/nas/eu/mj ... _WAVE2.tar

[Лаборатория] Чтение модификация прошивки - 6.png


6. Распаковываем прошивку командой tar xvf

tar xvf PSA_ovip-int-firmware-version_21-08-25-12_NAC-r0_NAC_EUR_WAVE2.tar

[Лаборатория] Чтение модификация прошивки - 7.png


7. Качаем скрипт Людвига командой wget в папку Scripts и ключ

wget https://raw.githubusercontent.com/ludwi ... ypt_SWL.sh

wget https://raw.githubusercontent.com/ludwi ... -12-r0.key

[Лаборатория] Чтение модификация прошивки - 8.png


[Лаборатория] Чтение модификация прошивки - 9.png


8. Расшифровываем прошивку командой

bash ./Scripts/decrypt_SWL.sh SWL/ ./Firmware_Keys/WAVE2/21.08.25-12-r0.key

[Лаборатория] Чтение модификация прошивки - 10.png


9. Копируем расшифрованные файлы к себе в рабочую среду Windows, запускаем mc и копируем распакованные файлы в /mnt/c/ ваш путь

[Лаборатория] Чтение модификация прошивки - 11.png


10. 7zip открываем нужный файлы

[Лаборатория] Чтение модификация прошивки - 12.png