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

 
 
> можно ли дизасемблировать объектный файл (исполняемый) так, чтобы взял ассемблер?, GNU интересно objdump, но и любые другие IDA PRO и т.п. пойдут
yes
сообщение Apr 2 2014, 07:46
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



то есть нужно получить из большого количества объектных файлов (то есть автоматически) получить ассемблерные файлы, которые возьмет gcc (gnu as)
архитектура sparc, но может методы от arm-а тоже пойдут

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 5)
kolobok0
сообщение Apr 2 2014, 16:25
Сообщение #2


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(yes @ Apr 2 2014, 11:46) *
то есть нужно получить из большого количества объектных файлов...


на автомате вряд-ли. Если есть более-менее сложный алгоритм (либо уход от дизасемблирования) - то точно нет.
обычно процес итерационный. дизасм-компиляция полученного-дизасм-компиляция..и так до потери пульса, пока не станет компиляться,
потом на точное совпадение бинарника, потом идёт уже осмысленное охват исходников на предмет того чего нужно.
пока этот процесс не научится делать автомат - то это "хфантастика сынок".

кстати достаточно один раз средней тяжести проделать работу и начиаешь понимать нюансы как дизасма, так и ухода от него...sm.gif
Go to the top of the page
 
+Quote Post
yes
сообщение Apr 3 2014, 08:23
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



я понимаю, что не просто метки/символы повосстанавливать и т.п.
но в 90-е пользовал для х86-го (а там инструкции переменной длины) Sorcer - вполне нормально реверсилось. вроде и IDA PRO что-то такое делала - но не уверен, давно было.
для более простого risc проца вроде как в ручную восстановить можно, ну не сильно трудно. я думал может какой-то тул появился...
Go to the top of the page
 
+Quote Post
kolobok0
сообщение Apr 4 2014, 17:44
Сообщение #4


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(yes @ Apr 3 2014, 12:23) *
.. вроде и IDA PRO что-то такое делала..


я и не сказал, что не возможно.я сказал чтоб вот так тупо сразу получить исходники на азме, чтоб компилялись - только простые проекты.
если хоть мало-мальская защита есть (либо бестолково написано, не совсем "по правилам"), то не получится.

IDA всеядна. лучше неё вроде как и нет. хотя я может и ошибаюсь - касался темы(косвенно) последний раз годика 4-5 назад..
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Apr 5 2014, 02:39
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Не встречал ни одного дизассемблера (включая IDA) который корректно автоматически может раскопать нестандартное ветвление по таблицам. Или структуры типа
PUSH R
RET
Или такую
CALL PRINT
DB "TEKST",0FFH
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Apr 6 2014, 02:53
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(yes @ Apr 2 2014, 10:46) *
то есть нужно получить из большого количества объектных файлов (то есть автоматически) получить ассемблерные файлы, которые возьмет gcc (gnu as)
архитектура sparc, но может методы от arm-а тоже пойдут



Если проект большой, то дизассемблировать весь проект слишком большая задача.
Обычно ищут нужное место в готовой прошивке, затем jump на свободный участок.
На свободном участке размещают требуемую функциональность и ret обратно или куда нужно.

PS Дизассемблировал бинарник IDA ATmega.
Проект явно написан на С. В нем была функция вывода на двустрочный дисплей.
Часть параметров функции были одинаковы(число байт для вывода и начало).

Отличались только состоянием регистровой пары Z для вызова ICALL двух функций.
IDA честно объявила две функции вывода (из флеш и оперативной памяти) сегментом данных.
Компилятору без разницы, поэтому проект компилировался корректно.

PPS Какая сейчас IDA доступна на фтп?
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 01:44
Рейтинг@Mail.ru


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