реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Работа с ELF-форматом
Rusoil
сообщение Nov 17 2010, 12:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695



Встала задача расковырять чужую прогу под Linux (ARM). Есть китайский автомобильный сканер, обновления представляют собой загружаемый через карточку исполняемые и библиотечные elf-файлы.

Пока занялся изучением формата ELF.

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


ps. обошлись бы без китайщины и все написали бы сами, но производитель не дает протоколов на двигатели.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Nov 17 2010, 13:18
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Rusoil @ Nov 17 2010, 15:23) *
Вопрос знатокам, реально вообще извлечь что-то полезное оттуда?
Может кто утилиты или инструментарий какой подскажет. Или просто посоветует что-то.
Любая инфа приветствуется.


Ниразу не приходилось под Linux таким заниматься - но думал про IDA все слышали smile.gif Инструменты из стандартных - gdb и objdump.
дизассемблировать
#arm-xxx-linux-xxx-objdump -d chinaprog
определить точку входа
#arm-xxx-linux-xxx-objdump -f chinaprog

Если китайцы собирали без -fomit-frame-pointer можно и gdb код отлаживать. Еще они могли какой-нибуть хитрый упаковщик использовать.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Nov 17 2010, 13:33
Сообщение #3


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(sasamy @ Nov 17 2010, 16:18) *
Если китайцы собирали без -fomit-frame-pointer можно и gdb код отлаживать. Еще они могли какой-нибуть хитрый упаковщик использовать.

А если с -gdwarf-2, то и исходный код посмотреть
smile.gif
А чем чёрт не шутит, попробуйте листинг выдавить тем же objdump


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Rusoil
сообщение Nov 17 2010, 14:16
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695



пока под виндой ковыряю.
с помощью efd (ida аналог readelf).

что-то есть - листинг с адресами, смещениями, названиями библиотечных функций.
попробую в ида запустить..
Go to the top of the page
 
+Quote Post
sasamy
сообщение Nov 17 2010, 15:26
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Есть еще такой бинарный просмотрщик с возможностью дизассемблирования
http://beye.sourceforge.net/

когда я его смотрел он еще biew назывался, но так как автор сильно стукнутый головой в детстве (как он сам об этом пишет) большая часть меню с ncurses у меня просто не работала, но может вам чем-то будет полезна smile.gif
Go to the top of the page
 
+Quote Post
Rusoil
сообщение Nov 18 2010, 14:20
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 21-01-09
Пользователь №: 43 695



beye не впечатлила, может руки кривые.

Запустил под IDA..продолжаю ковырять
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 12:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01367 секунд с 7
ELECTRONIX ©2004-2016