Easyelectronics.ru

Электроника для всех
Текущее время: 24 сен 2020, 08:02

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 110 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 06 ноя 2019, 14:28 
Старожил
Аватара пользователя

Зарегистрирован: 11 апр 2016, 18:04
Сообщения: 3558
Откуда: Китай, Пекин
при первом включении ставь перемычку какую нибудь, прочитав которую бит защиты будет выставлен, после перемычка убирается, и бит не теребенькается

_________________
unirail.org


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 06 ноя 2019, 14:41 
Заглядывает иногда

Зарегистрирован: 19 май 2015, 01:52
Сообщения: 71
Atomic-dm писал(а):
zacher писал(а):
я же сказал, не работает эта хрень.


мне кажется ты сам что-то в коде напутал.

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

а пробовал разблокировать проц?
программатор пишет что проц закрыт, че тут можно перепутать? но после открытия не происходит mass erase.
Вот в чём отличие.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 06 ноя 2019, 14:43 
Старожил
Аватара пользователя

Зарегистрирован: 26 окт 2013, 07:58
Сообщения: 2587
zacher писал(а):
Atomic-dm писал(а):
zacher писал(а):
я же сказал, не работает эта хрень.


мне кажется ты сам что-то в коде напутал.

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

а пробовал разблокировать проц?
программатор пишет что проц закрыт, че тут можно перепутать? но после открытия не происходит mass erase.
Вот в чём отличие.

Ща проверю..

P.S. Снял бит, накрылись и прошивка и бутлоадер.
zacher, ты что то не то дёргаешь.
Я в ХАЛе мало понимаю, но судя по названию функции - какая то другая хрень.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 06 ноя 2019, 15:32 
Заглядывает иногда

Зарегистрирован: 19 май 2015, 01:52
Сообщения: 71
Pingvin писал(а):
P.S. Снял бит, накрылись и прошивка и бутлоадер.
zacher, ты что то не то дёргаешь.
Я в ХАЛе мало понимаю, но судя по названию функции - какая то другая хрень.


ну значит только на моем проце не работает.
в моем коде хала нет. просто функции другие для управленния OPT

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 27 фев 2020, 16:16 
Старожил

Зарегистрирован: 05 дек 2017, 18:17
Сообщения: 231
А как определить адрес по которому загружается прошивка?
STM32F1, традиционная схема - булоадер, защита от чтения, обновляемая прошивка. Обновления прошивки не зашифрованы. Более того, бутлоадер прошивает не только прошивки от производителя, но и сторонние. Т.е. или проверки нет, или она формальная.
Смотрю в бинарник оригинальной прошивки - есть адреса векторов. Reset_handler к примеру лежит по адресу 0x0806f3d. Но бинарник прошивки содержит не весь флеш, а только саму прошивку. Как определить, по какому адресу надо положить таблицу векторов?
Прошивка большая, около 400Кб, и просто глазами Reset_handler не найти, чтоб от него посчитать смещение.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 27 фев 2020, 17:50 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 682
Откуда: Санкт-Петербург
я бы слинковал свою прошивку на 0x08006f00


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 27 фев 2020, 18:07 
Старожил

Зарегистрирован: 05 дек 2017, 18:17
Сообщения: 231
Atomic-dm писал(а):
я бы слинковал свою прошивку на 0x08006f00


Ну это от размера бутлоадера зависит. Целевой МК F103VE, он high-destiny, 512кб флеша побито на страницы по 2Кб. Можно допустить, что прошивка лежит с начала какой-то страницы, т.е. адрес кратен 0x800 (2048). Весь бинарник - 428Кб. Получается он должен лежать не дальше чем 512 - 428 = 84Кб от начала. Т.е. в случае если флеш забит полностью, то прошивка стартует с 0x08018000. Но скорее всего бут меньше 84кб, поэтому пока вариант такой: открыть бинарник с base address 0x08018000, переход на reset_handler. Если код не похож, то уменьшить base address на 0x800 и повторить.
Но очень много нудной ручной работы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 27 фев 2020, 19:20 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 757
Откуда: GMT+6
Адрес таблицы векторов в STM32F1 задается регистром SCB_VTOR (искать в Programming manual PM0056 параграф 4.4.4). Минимальное выравнивание 128 слов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 27 фев 2020, 23:24 
Старожил

Зарегистрирован: 02 ноя 2015, 19:21
Сообщения: 682
Откуда: Санкт-Петербург
Sergey_spb писал(а):
Но очень много нудной ручной работы.

мне кажется реверс быстрым и легким никогда не бывает в принципе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Реверс инженеринг. Насколько легко получить исходный код?
СообщениеДобавлено: 28 фев 2020, 00:05 
Старожил

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 537
Откуда: Киев
если бутлоадер смещает таблицу векторов, то никак, но если в самой прошивке, то нужно искать обращения к VTOR.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 110 ]  На страницу Пред.  1, 2, 3, 4, 5


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB