Easyelectronics.ru

Электроника для всех
Текущее время: 25 авг 2019, 18:57

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 17 ] 
Автор Сообщение
 Заголовок сообщения: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 22 дек 2018, 14:18 
Только пришел

Зарегистрирован: 20 окт 2017, 18:14
Сообщения: 24
Есть прошивка от проца семейства 9s12x. У этих чипов страничная(или банковая) организация флешпамяти.
То есть прошиваемая память разделена на страницы и одна из этих страниц отражается в основной памяти микропроцессора. Что бы указать какая страница должна отражаться в памяти, номер страницы записывается в специальный регистр.
Соответственно возникает вопрос как правильно настроить IDA чтобы каким то образом он понимал что память страничная и правильно строил связи между переходами и функциями расположенными в разных страницах памяти. Насколько я понимаю есть некоторая аналогия с х86 платформой в части так называемых сегментных регистров, которые также указывает на сегмент памяти.


http://uploads.ru/XCoTA.jpg

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 17 янв 2019, 18:35 
Старожил
Аватара пользователя

Зарегистрирован: 08 сен 2011, 13:39
Сообщения: 881
Откуда: Беларусь, Гомель
А так что, хрень получается? Дело в том, что модуль под конкретный проц обычно уже учитывает нюансы архитектуры этого проца... Хотя разобраться в дебрях IDA порой тот еще квест )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 19 янв 2019, 15:06 
Только пришел

Зарегистрирован: 20 окт 2017, 18:14
Сообщения: 24
N1X писал(а):
А так что, хрень получается? Дело в том, что модуль под конкретный проц обычно уже учитывает нюансы архитектуры этого проца... Хотя разобраться в дебрях IDA порой тот еще квест )

Ну как хрень...код более или менее адекватный в пределах каждого сегмента,если этот сегмент загружен в адресное окно 0х8000-0хС000. То есть чтобы код был виден во всех сегментах, они одновременно в иде должны както быть загружены все в адресные окна 0х8000-0хС000. И опять же при вызовах функций находящихся в других сегментах происходит переход в другой сегмент путем переключения окна памяти путем загрузки номера сегмента в регистр переключения сегментов, что тоже както должно учитываться идой.

Да, при загрузки данного модуля проца в иде есть вкладка с сегментными регистрами этого проца, но как с ними работать и как правильно настроить иду для работы с таким процом нигде в описаниях не нашел. на х86 мало инфы, а на embeded процы так вообще ничего нет нигде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 22 янв 2019, 15:38 
Старожил

Зарегистрирован: 13 фев 2011, 01:25
Сообщения: 618
Откуда: Севастополь
Такого как прямо хотите - ида не могет.
Можно скриптом каждый раз копировать блок памяти. Можно просто в вызовах или ссылках путем нажатия Alt+T (или Cntrl+T точно не вспомню сейчас ) Задавать смещение данных. Я например именно так делал. Но вообще мотороловские сегменты как по мне - кривовато сделаны в иде. Много работы руками. что на повер архитектуре что на 9s12.

Приборку наверное ковыряете автомобильную ? или иммо ? Обычно стиралки народ не дизассемблит. А процы эти особо мало где стоят - бытовая техника да автомобили.....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 22 янв 2019, 19:52 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1004
Есть какие то статьи
Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 1)
Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2)

Из статей данного автора на хабрахабр

P.S. Есть ещё и реверс-инструмент Radare2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 22 янв 2019, 23:53 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5622
KPG, КГБ есть такое мнение -раз влез в тему , значит хоть что-то в ней соображаешь.
Насколько мне известно ты полный ноль в сабже.
Обсудим? Или сольешься?

balu_dark, интересен твой опыт , и интересны твои потуги в отношении арм. Есть что нибудь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 00:05 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1730
У Иды с АРМ проблем нет особых.
Пример
http://akb77.com/g/stm32/fix-jlink-ob-09262016/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 00:10 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5622
x893, не , не в проблемах ИДА. Я тебе уже писал, но ты молчун...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 00:33 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1004
dosikus_2 писал(а):
KPG, КГБ есть такое мнение -раз влез в тему , значит хоть что-то в ней соображаешь.
Насколько мне известно ты полный ноль в сабже.
Обсудим? Или сольешься?

Думаю да ты в целом прав! ИИ для этого процесса реверса ещё не создали.
С Идой тоже как то у меня не было практики :)
Так что, непонятно что с тoбой интересно обсудить?

P.S. Да и от твоих личных ощущений мне не жарко и не холодно. :)
Хотя, да немного соображаю (мал по малу личных экспериментов)


Последний раз редактировалось KPG 23 янв 2019, 01:09, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 00:35 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1730
dosikus_2 писал(а):
x893, не , не в проблемах ИДА. Я тебе уже писал, но ты молчун...

Ну так без пива что говорить-то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 00:42 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1004
Может станет доступен ещё один реверс инструмент
АНБ объявило о выпуске внутреннего инструмента для реверс-инжиниринга в свободное пользование (после 4-8 марта 2019 года)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 01:10 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 1730
Не жизнь будет, а сказка.
Каждая домохозяйка сможет любимый утюг похачить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 23 янв 2019, 16:58 
Только пришел

Зарегистрирован: 20 окт 2017, 18:14
Сообщения: 24
balu_dark писал(а):
Такого как прямо хотите - ида не могет.
Можно скриптом каждый раз копировать блок памяти. Можно просто в вызовах или ссылках путем нажатия Alt+T (или Cntrl+T точно не вспомню сейчас ) Задавать смещение данных. Я например именно так делал. Но вообще мотороловские сегменты как по мне - кривовато сделаны в иде. Много работы руками. что на повер архитектуре что на 9s12.

Приборку наверное ковыряете автомобильную ? или иммо ? Обычно стиралки народ не дизассемблит. А процы эти особо мало где стоят - бытовая техника да автомобили.....


В общем автомобильный блок, да.

Надо обдумать, как вы советуете сделать. В иде для этого проца есть вкладка Segment Registers. Можно кликать на каждом регистре, только не понятно как это влияет на отображение кода. На вид никак, но видимо что-то разработчики иды для этого проца придумывали только не описали, как этим пользоваться.


Вложения:
seg_reg.JPG
seg_reg.JPG [ 23.55 Кб | Просмотров: 799 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 24 янв 2019, 15:40 
Только пришел

Зарегистрирован: 13 янв 2014, 09:46
Сообщения: 14
Если знаете, что в определенном участке кода используется какое-то значение сегментного регистра, то первую строчку этого учаcтка кода выделяйте и через меню Edit->Segments->Change Segment register value указывайте это значение.
Ида напишет что-то вроде "assume ds = 400h"
Должно помочь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 25 янв 2019, 13:19 
Только пришел

Зарегистрирован: 20 окт 2017, 18:14
Сообщения: 24
limgwa писал(а):
Если знаете, что в определенном участке кода используется какое-то значение сегментного регистра, то первую строчку этого учаcтка кода выделяйте и через меню Edit->Segments->Change Segment register value указывайте это значение.
Ида напишет что-то вроде "assume ds = 400h"
Должно помочь.

Спасибо. Буду пробовать разобраться как это работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 25 янв 2019, 22:48 
Старожил

Зарегистрирован: 22 июн 2010, 21:53
Сообщения: 1026
Откуда: Brussels
А кто писал поддержку на ваш mcu (я правильно понял что какая-то подержка есть...)? По идее на форуме хексов должны помочь - раньше вроде охотно отвечали, в том числе и по модулям на unsupported sdk. Это я к тому, что есть же нормальный путь - спросить у саппорта,


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как правильно настроить IDA для работы с микроконтроллером?
СообщениеДобавлено: 26 янв 2019, 16:13 
Только пришел

Зарегистрирован: 20 окт 2017, 18:14
Сообщения: 24
//Mt писал(а):
А кто писал поддержку на ваш mcu (я правильно понял что какая-то подержка есть...)? По идее на форуме хексов должны помочь - раньше вроде охотно отвечали, в том числе и по модулям на unsupported sdk. Это я к тому, что есть же нормальный путь - спросить у саппорта,

В теории можно попробовать спросить. Но я даже на русском затрудняюсь правильно сформулировать вопрос.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ] 

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


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

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


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

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

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