Перейти к содержанию
    

Дисассемблирование программы скомпилированной под arm

Добрый день!

 

Столкнулся с тем, что очень хочется узнать алгоритм работы одной программы. Программа в виде бинарника под arm linux, stripped. Так как я не на ты с ассемблером, тем более под arm, то есть ли какие то программы(бесплатные) для перевода в си или псевдо какой то язык, чтобы ни читать ассемблер? Или другой вариант, я прогнал бинарник через strings, и обнаружил логи той части программы, которая мне интересна. Можно ли хотя бы через gdb и ассемблер, найти функцию где скорее всего вызывается printf() c адресом того сторокого литерала(лога)который мне нужен, чтобы не читать весь код? Или можно подсказать, что еще можно сделать. Я в этих делал не силен, поэтому тут.

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IDA Pro может очень сильно помочь. Дизассемблируете, находите строку, xref на нее, ну и место printf-а найдено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

IDA Pro может очень сильно помочь..

 

если человек не хочет погружаться в азм - то вряд ли далеко уедет даже с идой...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю, что не сегодня это бесполезно точно, тем более без опыта писания на ассемблере! Уходит это дело в прошлое по естественно-технологическим и финансовым причинам. Заниматься дизассемблированием программы тем более под arm linux, встречал только разговоры. С исходиками под arm linux не всегда разберешься, а тут только бинарник.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если раздобыть бинарник под х86, сможет ли это улучшить ситуацию? С ассемблером можно разобраться

Изменено пользователем Kirill_Good

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там полегче, но все равно разбираться придется. Если нужно найти только printf - то это несложно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если раздобыть бинарник под х86, сможет ли это улучшить ситуацию?...

 

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

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

 

начнёте разбираться, в купе с попытками создать на сях и дезасэмблировать, сравнить - вы увидите быстро во что превращаются

циклы, подготовки вызовов функций, работу со стэком и многое другое...

 

Если программа писана без ухода от анализатора - то раскрутить не составит большого труда.

Хуже - если авторы это предвидели. И сделали код с учётом реверсинжениринга.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Для ARM тоже ids-ки можно или найти, или сделать, и тоже будут мнемоники. А если линковка динамическая (что скорее всего, раз arm linux), то тоже будут мнемоники

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

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

×
×
  • Создать...