superdetka 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба Добрый день! Столкнулся с тем, что очень хочется узнать алгоритм работы одной программы. Программа в виде бинарника под arm linux, stripped. Так как я не на ты с ассемблером, тем более под arm, то есть ли какие то программы(бесплатные) для перевода в си или псевдо какой то язык, чтобы ни читать ассемблер? Или другой вариант, я прогнал бинарник через strings, и обнаружил логи той части программы, которая мне интересна. Можно ли хотя бы через gdb и ассемблер, найти функцию где скорее всего вызывается printf() c адресом того сторокого литерала(лога)который мне нужен, чтобы не читать весь код? Или можно подсказать, что еще можно сделать. Я в этих делал не силен, поэтому тут. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба IDA Pro может очень сильно помочь. Дизассемблируете, находите строку, xref на нее, ну и место printf-а найдено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба IDA Pro может очень сильно помочь.. если человек не хочет погружаться в азм - то вряд ли далеко уедет даже с идой... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aner 1 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба Думаю, что не сегодня это бесполезно точно, тем более без опыта писания на ассемблере! Уходит это дело в прошлое по естественно-технологическим и финансовым причинам. Заниматься дизассемблированием программы тем более под arm linux, встречал только разговоры. С исходиками под arm linux не всегда разберешься, а тут только бинарник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
superdetka 0 14 февраля, 2014 Опубликовано 14 февраля, 2014 (изменено) · Жалоба А если раздобыть бинарник под х86, сможет ли это улучшить ситуацию? С ассемблером можно разобраться Изменено 14 февраля, 2014 пользователем Kirill_Good Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба Там полегче, но все равно разбираться придется. Если нужно найти только printf - то это несложно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
superdetka 0 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба Спасибо за ответы, буду разбираться Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба А если раздобыть бинарник под х86, сможет ли это улучшить ситуацию?... да, с этим будет намного легче. т.к. анализатор типа ИДы будет опираться на известные адреса функций ядра и обозначать их мнемоникой. то бишь помимо принтф, вы увидите кучу других вызовов стандартных функций ядра и билблиотек. начнёте разбираться, в купе с попытками создать на сях и дезасэмблировать, сравнить - вы увидите быстро во что превращаются циклы, подготовки вызовов функций, работу со стэком и многое другое... Если программа писана без ухода от анализатора - то раскрутить не составит большого труда. Хуже - если авторы это предвидели. И сделали код с учётом реверсинжениринга. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 15 февраля, 2014 Опубликовано 15 февраля, 2014 · Жалоба да, с этим будет намного легче. т.к. анализатор типа ИДы будет опираться на известные адреса функций ядра и обозначать их мнемоникой. Для ARM тоже ids-ки можно или найти, или сделать, и тоже будут мнемоники. А если линковка динамическая (что скорее всего, раз arm linux), то тоже будут мнемоники Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
razoomeika 0 16 апреля, 2014 Опубликовано 16 апреля, 2014 · Жалоба Спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться