Почему идея Marty бред
От: IID Россия  
Дата: 21.04.19 18:24
Оценка: 1 (1)
Не придумал, куда именно лучше ответить в его топике
Автор: Marty
Дата: 20.04.19
, поэтому отвечу здесь.

1) потому что на STM-ках Embed не заканчивается. И даже на Cortex-M3 не заканчивается. (Для последних, кстати, есть открытая libopencm3).
2) да, потому что эмебщики не любят С++. Им вполне достаточно простой и прямой С-реализации.
3) потому что эмедщики уже имеют какие-то наработки, графические библиотеки, обвязку по датчикам и т.д. и т.п.
проинитить перифирию — это не самое главное и не самое сложное.
4) потому что всё равно желательно понимать, что происходит в железе. Вот ты понял для одного семейства, и сразу озарился "гениальной" идеей.
А твой подход заставит кроме разбирательств с железом ещё разбираться с твоей либой (и её глюками)
5) потому что рулит не красивое решение (кстати, с чего ты взял, что у тебя оно получится ?)
рулит открытое, бесплатное, поддерживаемое решение, по которому есть куча примеров в инете. И которое легко доработать напильником.
6) потому что мощности современных МК давно не заставляют экономить каждый байт и вылизывать каждый такт. Можно отвязаться от железа с помощью HAL и пилить всю прикладную логику на обычном ПК.
Более того, давным-давно практикуется подход писать логику прошивки на интерпретируемом языке (LUA, Squirrel), ещё сильнее отвязываясь от низкого уровня.

Вообщем — не взлетит.
Никто не захочет изучать "ещё одну" сомнительную библиотеку. А уж тем более платить за неё.
Кстати, интересно, сорцы будут открыты ?
Если да, все кто захотят — сопрут. Особенно китайцы, они с этим никогда не парились.
Если нет, оно умерло ещё не родившись. См. как зачахли коммерческие RTOS, сорцы пооткрывали даже, не от хорошей жизни.


А самое смешное — это настолько топить за hardware-depended часть.
Поезд давно ушёл.
Даже в паяльник(!!!) суют RTOS с кучей параллельно исполняющихся задач. И всё равно МК почти всё время простаивает.


ЗЗЫ: если решишь меряться — сразу достану свой. Реверсил STM32 прошивки разной сложности, в т.ч. с неизвестной RTOS. Больше года назад выложил открытый плагин для IDA, который детектит и размечает в коде сегменты, таблицу векторов, стартапы, и огромное число периферии STM32 и битовых констант. Поэтому как оно устроено "внутри" я представляю прекрасно, возможно лучше чем 90% пишущих под неё.
kalsarikännit
Re: Почему идея Marty бред
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 21.04.19 20:08
Оценка:
Здравствуйте, IID, Вы писали:

IID>Не придумал, куда именно лучше ответить в его топике
Автор: Marty
Дата: 20.04.19
, поэтому отвечу здесь.


Дима, спасибо за мнение. Мог бы ответить на мой стартовый пост, в чем проблема?


IID>ЗЗЫ: если решишь меряться — сразу достану свой. Реверсил STM32 прошивки разной сложности, в т.ч. с неизвестной RTOS. Больше года назад выложил открытый плагин для IDA, который детектит и размечает в коде сегменты, таблицу векторов, стартапы, и огромное число периферии STM32 и битовых констант. Поэтому как оно устроено "внутри" я представляю прекрасно, возможно лучше чем 90% пишущих под неё.


Не решу.
Кстати, а где на этот плагин можно посмотреть? В хозяйстве пригодится
Маньяк Робокряк колесит по городу
Re: Почему идея Marty бред
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 21.04.19 20:22
Оценка:
Здравствуйте, IID, Вы писали:

Да, в догонку

IID>Кстати, интересно, сорцы будут открыты ?


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

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

Кстати, интересно, может, подскажешь. На что еще стоит обратить внимание, на какие платформы? Вроде ESP или как-то так популярна. Под рукой есть еще миландры, думаю их поковырять.

Да, надо будет еще Raspberry потрогать. Что еще?
Маньяк Робокряк колесит по городу
Re[2]: Почему идея Marty бред
От: IID Россия  
Дата: 21.04.19 21:25
Оценка:
Здравствуйте, Marty, Вы писали:

M>Кстати, а где на этот плагин можно посмотреть? В хозяйстве пригодится


Я неточно выразился, это скрипт. Под IDA 7.0
С тех пор сделал кучу улучшений, но так и не залил.

Также может пригодиться python-обёртка вокруг OpenOCD.

Я для неё ещё делал лаунчер, чтобы одним cmd-шником запускать сразу openocd и telnet-консоль. Может тоже руки дойдут выложить.
kalsarikännit
Re[2]: Почему идея Marty бред
От: IID Россия  
Дата: 21.04.19 21:26
Оценка:
Здравствуйте, Marty, Вы писали:

M>Кстати, интересно, может, подскажешь. На что еще стоит обратить внимание, на какие платформы? Вроде ESP или как-то так популярна. Под рукой есть еще миландры, думаю их поковырять.


M>Да, надо будет еще Raspberry потрогать. Что еще?


Посмотри на Visual GDB. Что там предлагается в качестве таргетов.
kalsarikännit
Re: Почему идея Marty бред
От: Михaил  
Дата: 21.04.19 21:50
Оценка:
IID>ЗЗЫ: если решишь меряться — сразу достану свой. Реверсил STM32 прошивки разной сложности, в т.ч. с неизвестной RTOS. Больше года назад выложил открытый плагин для IDA, который детектит и размечает в коде сегменты, таблицу векторов, стартапы, и огромное число периферии STM32 и битовых констант. Поэтому как оно устроено "внутри" я представляю прекрасно, возможно лучше чем 90% пишущих под неё.

А можно узнать с какой целью реверсили? Вы сливали с «чужих» устройств прошивки? Насколько я знаю, у prodution прозводители часто запрещают считывание прошивк «обратно». Как вы это обходили?
Re[3]: Почему идея Marty бред
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 21.04.19 22:19
Оценка:
Здравствуйте, IID, Вы писали:

M>>Кстати, а где на этот плагин можно посмотреть? В хозяйстве пригодится


IID>Я неточно выразился, это скрипт. Под IDA 7.0

IID>С тех пор сделал кучу улучшений, но так и не залил.

IID>Также может пригодиться python-обёртка вокруг OpenOCD.


IID>Я для неё ещё делал лаунчер, чтобы одним cmd-шником запускать сразу openocd и telnet-консоль. Может тоже руки дойдут выложить.


Так-то, дойди уж руки
Маньяк Робокряк колесит по городу
Re[3]: Почему идея Marty бред
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 21.04.19 22:37
Оценка:
Здравствуйте, IID, Вы писали:

M>>Кстати, интересно, может, подскажешь. На что еще стоит обратить внимание, на какие платформы? Вроде ESP или как-то так популярна. Под рукой есть еще миландры, думаю их поковырять.


M>>Да, надо будет еще Raspberry потрогать. Что еще?


IID>Посмотри на Visual GDB. Что там предлагается в качестве таргетов.


Ага, его видел, поставил триалку, ковырнул — но особо ничего не понял. Потом надо было хреначить код, вернулся месяца через три — оно протухло, бегал по нашим форумам за автором — кто-то из команды вроде как наш местный. Не получил ни ответа ни привета, забил. Хотя у нас вполне можно такое продавить — недавно купили несколько десятков лицух PVS (хотя это было долго)

ЗЫ PVS, к слову, в моем коде проблем не находит. То ли мой код так идеален, то ли PVS — овно (при том, что я знаю, где написал кривовато)
Маньяк Робокряк колесит по городу
Re: Почему идея Marty бред
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 21.04.19 23:09
Оценка:
Здравствуйте, IID, Вы писали:

И еще догонка

IID>1) потому что на STM-ках Embed не заканчивается. И даже на Cortex-M3 не заканчивается. (Для последних, кстати, есть открытая libopencm3).


STMки они есть на разных ядрах. На вскидку — CM3, CM33, CM4, CM7, CM0 вроде тоже тоже, но точно не скажу.

Периферию же этих кортексов переводить в код одно удовольствие — сиди себе лабай бойлерплейт, иногда мелкими ifdef'ами разбавляй.
Хотя, думаю, что руками — слишком сложно. Проще найти оригиналы док и распарсить PDF

Мой кондовый код генераторов даже на 0x03 плюсах вытягивает из куба и кейла то, что не вытягивает питон. Коллега просто челендж объявил, собирался на питоне хотя бы частично повторить мой функционал. Третий месяц жду. Это не по теме, просто пайтон vs С++
Маньяк Робокряк колесит по городу
Re[2]: Почему идея Marty бред
От: IID Россия  
Дата: 22.04.19 06:19
Оценка:
Здравствуйте, Михaил, Вы писали:

М>А можно узнать с какой целью реверсили? Вы сливали с «чужих» устройств прошивки?


С разными. Вот одна из историй.

М>Насколько я знаю, у prodution прозводители часто запрещают считывание прошивк «обратно». Как вы это обходили?


Не всегда прошивка закрыта (см. пример выше).

Но даже если закрыта — это обходится несколькими путями:
1) Шифр блоба прошивки слабый. Реальный случай. Использовался по-сути шифр цезаря над нибблами. Восстановил таблицу перестановок, зная как обычно выглядит таблица прерываний + по нескольким текстовым сообщениям.
2) Прошивку расшифровывает не свой бутлоадер, а внешняя программа-апдейтер. Именно так "сняли" прошивку для ST-Link (впрочем, судя по ключу шифрования, ST изначально хотела чтобы так вышло).
3) Забыли предусмотреть обновление бутлоадера. А жизнь заставила обновить. Тогда в руки кастомеру может попасть новая версия бутлоадера, для ручной установки через программатор. Из которой реверсится алгоритм дешифровки.
4) с помощью аппаратных багов. Для STM32 есть описание способа.
5) Физическим доступом к DIE и отключением битов защиты. Поэтому в современных чипах бит защиты продублирован, причём в обоих вариантах, и в прямом, и в инверсном. А флип должен быть мгновенным, и никак иначе.
6) Физическим доступом к DIE и считыванием содержимого FLASH в обход ядра МК.

Насколько я слышал, все крупные китайские производители плат имеют в штате лабораторию для способов 5) и 6).
Ценник (обычно) варьируется от $2k до $10k. Что совсем не запредельно дорого.

Т.е. предлагают условия копирования "под ключ".
Вы им — устройство, они вам — налаженное изготовление полностью идентичных копий в кратчайшие сроки.
kalsarikännit
Отредактировано 22.04.2019 6:22 IID . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.