Jump to content

    
Sign in to follow this  
superdetka

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

Recommended Posts

Добрый день!

 

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

 

Спасибо.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Edited by Kirill_Good

Share this post


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

 

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

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

 

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

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

 

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

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

 

Share this post


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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this