|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
Дизассемблинг прошивки микроконтроллера03.03.2025, 19:44. Показов 1773. Ответов 18
Метки нет (Все метки)
Всем привет
интересует вопрос насколько сложно восстановить код из собственно данных которые хранятся в модуле памяти микроконтроллера, неважно ардуино, есп, стм и иные. Как по мне вполне реально, ведь микроконтроллер как-то же восстанавливает он же исполняет прогрммму, а стало быть читать умеет.Т.е. вопрос такой, если например микроконтрлллер с програамой окажется у вендора микроконтрллера , вряд ли для него составит большого труда восстановить в плюс минус читаемый код? конечно же там не будет именований функций и переменных - это понятно, но алгоритмы работы все будут как на лицо. и кстати - типы данных в том числе собственные они как -то определяться? т.е. восстановятся ли классы самодельные ? Добавлено через 56 секунд т.е. тут уже вопрос в ооп, во что компилятор gcc например и иной общедоступный, понятно что можно свой компилятор написать, во что он разворачивает классы и наследование и пр?
0
|
|
| 03.03.2025, 19:44 | |
|
Ответы с готовыми решениями:
18
Как можно вытащить массив прошивки из файла для микроконтроллера STM32
Микроконтроллер семейства AVR, использование таймеров |
|
Диванный эксперт
|
|
| 03.03.2025, 20:11 | |
|
pup_kin, инструменты есть (Ghidra, например)
Но вот вытащить прошивку бывает очень сложно У многих MCU есть защитные механизмы против этого: - шифрование на случай, если код хранится во внешней памяти(флешке)(а ключи расшифровки write-only...) - при чтении программатором отдавать нули вместо кода. - программирование нового кода только полного стирания старого... Не все так просто...
1
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 03.03.2025, 20:19 [ТС] | ||
|
говорят просто вынимается программатором обычным и размножается потом. там вроедсхема 24 или 25 на каждую схему свои девайсы привет кеп ![]() а как узнать на каком микроконтроллере используется шифрование ? на ардуино уно нано микро, есп 8266 и стм незнаю модель кажется точно нет. Но вендор то по любасу имеет набор ключей шифрования. раз уж ключи шифрования от хавалов и других китайских погремушек общедоступны, то от микроконтроллеров то и подавно кому надо у того есть. т.е вопрос такой вендор сможет расковырять же - без проблем?
0
|
||
|
Native x86
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
|
|
| 03.03.2025, 20:33 | |
|
Шифрование внешнего ROM может быть реализовано любый контроллером, и ключи прошивает программист, какие ему захочется. Так что никаких "стандартных" отмычек не существует, если чтение памяти контроллера заблокировано, то шансы расшифровать упираются только в криптостойкость алгоритма (алгоритм, кстати, может быть любой, и его тоже нужно сначала угадать).
1
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
| 03.03.2025, 20:35 [ТС] | |
|
0
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 03.03.2025, 20:39 [ТС] | ||
|
и как изменится скоротсь работы программы в этом случае? как микроконтроллер будет с ней работать? например записано 100 байт они зашифрованы, он перед началом их расшифровывает получает еще 100 байт расшифрованной программы, и куда он их денет? ему же надо ее куда то загрузить или свопнуть он же все в операивку не засосет, а если места и так нет. не совсем понимаю. получается он будет перед каждой операцией производить расшифровку, но это ж снизит скоротсь работы конечной программы?
0
|
||
|
Native x86
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
|
|||||
| 03.03.2025, 20:41 | |||||
|
Везде можно сделать. Считанные из внешнего чипа данные просто прогоняются через функцию дешифровки перед использованием. Функция может быть какой угодно, от обычного XOR до AES или чего угодно, на что хватит мощности контроллера.
Добавлено через 2 минуты
1
|
|||||
|
Диванный эксперт
|
|
| 03.03.2025, 20:42 | |
|
pup_kin, RTFM для ESP
1
|
|
|
Модератор
|
|||
| 03.03.2025, 21:25 | |||
|
Так что восстановить чтото читаемое и нормальное из прошивки можно только если она написана на Java/C#/Python/JS, но они редкие зверьки для МК В этом плане МК от ПК мало чем отличается. Это не касаясь извлечения прошивки.
1
|
|||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 03.03.2025, 22:05 [ТС] | ||
|
или вы имеете ввиду что платформа Java/C#/Python/JS сама разгребет и представит ? Вот он ответ, т.е. если я напишу компилятор, то для меня не составляет труда и обратная задача декомпилировать. т.е.у вендора 100% есть декомпилятор условный, и ничего о него не скроешь, не существует способа, если устройсто попало в руки к вендору и содердит все необходимые данные на своем борту скажем так, а ключи например не получаются с внешнего устройства т.е. все что написано и даже зашифровано, при полноте данных раскрывается? А существует например декомпилятор к gcc ?
0
|
||
|
Модератор
|
||||
| 03.03.2025, 22:49 | ||||
Сообщение было отмечено pup_kin как решение
Решение
0
|
||||
|
3758 / 2637 / 580
Регистрация: 11.09.2009
Сообщений: 9,416
|
||
| 04.03.2025, 01:15 | ||
|
Может вам сначала книжку какую почитать? Типа "Введение в программирование" по информатике для пятого класса какую-нибудь...
1
|
||
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
|
| 04.03.2025, 02:38 [ТС] | |
|
0
|
|
|
754 / 351 / 90
Регистрация: 07.01.2023
Сообщений: 1,451
|
||
| 04.03.2025, 07:43 | ||
|
Вот так же и с компилируемыми в машинный код языками.
2
|
||
|
649 / 402 / 76
Регистрация: 21.09.2008
Сообщений: 1,387
|
||
| 04.03.2025, 16:43 | ||
|
Ещё один продукт для исследователя кода: Cutter
0
|
||
|
91 / 58 / 14
Регистрация: 16.11.2018
Сообщений: 269
|
|
| 04.03.2025, 17:11 | |
Сообщение было отмечено pup_kin как решение
Решение
Стоит упомянуть про скальпирование чипов и обратный инжиниринг схемотехники кристаллов. Что делает защиту прошивки довольно условной.
Для стандартных чипов это 8 - 16 дырочек просверленных в нужных местах, что дает полный контроль над чипом и его памятью. Можно не замарачиваться с расшифровкой а читать уже расшифрованный код. Это конечно добавляет заморочек но в Китае на радиорынках это делают за 20-100 баксов за полдня.
1
|
|
|
16 / 18 / 2
Регистрация: 02.03.2024
Сообщений: 510
|
||
| 04.03.2025, 17:24 [ТС] | ||
![]() воздействие паяльником через дырки - наше всё ))
0
|
||
| 04.03.2025, 17:24 | |
|
Помогаю со студенческими работами здесь
19
Какой микроконтроллер сможет работать с частотой от 1 до 3 ГГц? Нужен микроконтроллер с поддержкой USB -slave, и можно было подключить модуль wifi и модуль 3g Микроконтроллер ADuC 842, выполнить функцию Как узнать какой микроконтроллер стоит КАк проверить микроконтроллер FT232BL по USB Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|