Easyelectronics.ru

Электроника для всех
Текущее время: 25 июн 2019, 21:08

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



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

Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 21:22 
Заглядывает иногда

Зарегистрирован: 27 май 2018, 10:09
Сообщения: 53
Вот уже интересней, сколько мнений. Оказывается можно конвертнуть в читаемый язык, чтобы было видно что куда и как. Главное чтобы специалист правильный был и понимал в этом.
А не называл сразу суммы за которые бы он занялся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 21:47 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3205
Нууу как бы в некотором роде аналитически можно, если есть опыт, наработки, и знаете, как на ассемблере могут выглядеть те или иные сишные ф-ции.
Например, в примере топикстартера на скрине:
участки кода loc_8A00, loc_8A20 представляют собой классический
switch(r2){
case 1: ...
break;
case 2: ...
break;
case 3: ...
break;

, а в следующей группе то же самое с числами 4, 8, 0xC.
Причем, в первой группе при успешном сравнении с числом 3, и во второй группе при сравнении с числом 0xC, переходим на loc_8A18, там загружаем в r0 число 6 и кудато дальше сваливаем...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 21:50 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5428
BusMaster, ну это если есть желание извращаться. В IDA есть хексрэйс...
Да и кусок этот не показатель ни грамма, так под руку скопипастилось


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 22:01 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3205
dosikus_2, я не про твой код, а про тот кусок на скрине у автора темы. Просто исходя из обрывка, пердположил, что показана некая сишная функция (на это намекает инструкция возврата bx lr), которая по входящему значению выбирает некое возвращаемое значение.

gemoglobin писал(а):
А не называл сразу суммы за которые бы он занялся.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 22:19 
Заглядывает иногда

Зарегистрирован: 27 май 2018, 10:09
Сообщения: 53
Опять вознаграждение :) Помощь просто не практикуется тут ? Или опять же интерес, что я могу и я нашел, смотрите. Говорить все горазды, а на деле как ? Шкурный интерес превыше всего всегда. Или когда просит помощи человек который не понимает, ему всегда цифры нужно озвучивать за место помощи.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 22:25 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3205
Нууу блиииин... Брать на понт (на "слабо") - эт тоже нехорошо... Я почему то так и знал, что этим и закончится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 22:27 
Заглядывает иногда

Зарегистрирован: 27 май 2018, 10:09
Сообщения: 53
Все только начинается. Так быстро сдаетесь ?) Слив засчитан.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 22:40 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3205
Тьфу блин. Лучше бы потратили время на разбор кода. Вам показали, как это делать. Да только ваш намек: "а зделайте мне всё сами, я хачю разблокированную штучку".
Ну и библейская притча напоследок: "Дайте человеку рыбу, и он будет сыт день. Научи человека ловить рыбу, и он будет сыт навечно"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 22:45 
Заглядывает иногда

Зарегистрирован: 27 май 2018, 10:09
Сообщения: 53
BusMaster писал(а):
Тьфу блин. Лучше бы потратили время на разбор кода. Вам показали, как это делать. Да только ваш намек: "а зделайте мне всё сами, я хачю разблокированную штучку".
Ну и библейская притча напоследок: "Дайте человеку рыбу, и он будет сыт день. Научи человека ловить рыбу, и он будет сыт навечно"

Все верно опыт нужен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 27 май 2018, 23:29 
Старожил

Зарегистрирован: 27 мар 2015, 01:22
Сообщения: 1361
gemoglobin, что это за девайс и откуда взялся бинарник?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 11:37 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1954
Я лично в слове исходник вижу сокращение, от которого оно пошло - исходный код. Т.е. именно в том виде и языке, в котором его написал автор прошивки. Если это была прога на C - то именно один в один, с одними и теми же названиями функций и т.д. Компиляция без символов отладки и с оптимизацией - процесс необратимый. Именно поэтому я сказал, что чисто исходник назад не получить.
Я не говорил, что нельзя декомпилировать бинарник в C и упростить себе анализ кода. Только это в моем понимании никак нельзя называть "исходником", потому что исходник это сокращение от исходного кода. А получаем мы не исходный, а другой код, хоть и делающий тоже самое.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 12:19 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5428
NStorm, хорош пургу гнать. Восстанавливется все, особенно весело если юзали стандартные либы ...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 12:29 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1954
Может сам перестанешь пургу гнать? Как из HEX'а "восстановить" названия функций? Может еще и комментарии к коду восстановишь?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 12:55 
Заглядывает иногда

Зарегистрирован: 27 май 2018, 10:09
Сообщения: 53
Тише тише, hex можно перевести в bin:) И все будет видно также по дизассу. Комментарии вообще интересно, но врядли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:06 
Старожил

Зарегистрирован: 02 май 2015, 16:16
Сообщения: 1984
gemoglobin писал(а):
Тише тише, hex можно перевести в bin:) И все будет видно также по дизассу. Комментарии вообще интересно, но врядли.
Клавиша пробел позволяет увидеть процедуру в графическом виде и многое становится более наглядно для понимания
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:08 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1954
Еще раз что будет видно по дизасму? Названия исходных функций не будет видно. HEX от BIN отличается только формой записи. Это в ELF еще можно символьную информацию впихнуть, в дебаг версии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:16 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5428
NStorm писал(а):
Может сам перестанешь пургу гнать? Как из HEX'а "восстановить" названия функций? Может еще и комментарии к коду восстановишь?

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

Вот так-

Изображение

А здесь таже функция из EFM SPL
Код:
void GPIO_IntConfig(GPIO_Port_TypeDef port,
                    unsigned int pin,
                    bool risingEdge,
                    bool fallingEdge,
                    bool enable)
{
  uint32_t tmp;

  EFM_ASSERT(GPIO_PORT_VALID(port) && GPIO_PIN_VALID(pin));

  /* There are two registers controlling the interrupt configuration:
   * The EXTIPSELL register controls pins 0-7 and EXTIPSELH controls
   * pins 8-15. */
  if (pin < 8)
  {
    GPIO->EXTIPSELL = (GPIO->EXTIPSELL & ~(0xF << (4 * pin))) |
                      (port << (4 * pin));
  }
  else
  {
    tmp             = pin - 8;
    GPIO->EXTIPSELH = (GPIO->EXTIPSELH & ~(0xF << (4 * tmp))) |
                      (port << (4 * tmp));
  }

  /* Enable/disable rising edge */
  BITBAND_Peripheral(&(GPIO->EXTIRISE), pin, (unsigned int)risingEdge);

  /* Enable/disable falling edge */
  BITBAND_Peripheral(&(GPIO->EXTIFALL), pin, (unsigned int)fallingEdge);

  /* Clear any pending interrupt */
  GPIO->IFC = 1 << pin;

  /* Finally enable/disable interrupt */
  BITBAND_Peripheral(&(GPIO->IEN), pin, (unsigned int)enable);
}


Последний раз редактировалось dosikus_2 28 май 2018, 14:21, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:18 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 3302
NStorm писал(а):
Названия исходных функций не будет видно.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:23 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5428
fr0ster, я ж грю - он как всегда не в курсе...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:34 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1954
dosikus_2, бла-бла-бла. Круто, открыл функцию стандартной библиотеки. Чукча не читатель, чукча писатель? Вместо перехода на личности, иногда лучше почитать и понять смысл того, что было сказано.
Цитата:
Имена самописных естественно не отловятся, но оно как раз и не нужно, чаще всего.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:37 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5428
NStorm, и что? Что с того что

Цитата:
Имена самописных естественно не отловятся


Если я ее обзову по своему - у меня что, исходник ПРАВЛЕННЫЙ, будет работать по другому?????????????

Еще раз - хватит пи***ть про то, в чем полный нуль.
Ты просто не понимаешь ни механизм реверса ни его суть...


Последний раз редактировалось dosikus_2 28 май 2018, 14:43, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:42 
Старожил

Зарегистрирован: 17 сен 2013, 13:53
Сообщения: 3302
NStorm писал(а):
Именно это как минимум я имел в виду. Нужно оно или нет - это совсем другой вопрос. Но без оригинальных имен функций и их исходного текста это уже будет не исходник, а декомпиляция бинарника.


Все же задача дизассемблирования и декомпиляции это не получение самописных имен и комментариев, а получение листинга с вызовами функций на ассемблере и некоем сиподобном языке (варианты декомпиляции джавы и сишарпей не рассматриваем)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:45 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5428
Полный реверс с выхлопом в рабочий исходник реален.
Но это долго, да и на не нужно зачастую...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:47 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1954
Может хватит за других людей говорить уже? Я прекрасно понимаю механизм реверса и суть. И что названия функций там роли не играют, и что правленный код будет работать по другому. А ты не понимаешь элементарную мысль, о которой я написал - это не исходник. Потому что исходник - по определению то, что было изначально, с теми же названиями функций. А не только работающий также. А ты не в состоянии понять, что вопрос именно в терминологии, а не том, как работает реверс.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Cortex-M3 EFM32
СообщениеДобавлено: 28 май 2018, 14:50 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 1954
fr0ster писал(а):
Все же задача дизассемблирования и декомпиляции это не получение самописных имен и комментариев, а получение листинга с вызовами функций на ассемблере и некоем сиподобном языке (варианты декомпиляции джавы и сишарпей не рассматриваем)

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

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


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

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


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

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


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

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

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