superdetka 0 Posted February 13, 2014 · Report post Добрый день! Столкнулся с тем, что очень хочется узнать алгоритм работы одной программы. Программа в виде бинарника под arm linux, stripped. Так как я не на ты с ассемблером, тем более под arm, то есть ли какие то программы(бесплатные) для перевода в си или псевдо какой то язык, чтобы ни читать ассемблер? Или другой вариант, я прогнал бинарник через strings, и обнаружил логи той части программы, которая мне интересна. Можно ли хотя бы через gdb и ассемблер, найти функцию где скорее всего вызывается printf() c адресом того сторокого литерала(лога)который мне нужен, чтобы не читать весь код? Или можно подсказать, что еще можно сделать. Я в этих делал не силен, поэтому тут. Спасибо. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SM 0 Posted February 13, 2014 · Report post IDA Pro может очень сильно помочь. Дизассемблируете, находите строку, xref на нее, ну и место printf-а найдено. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kolobok0 0 Posted February 13, 2014 · Report post IDA Pro может очень сильно помочь.. если человек не хочет погружаться в азм - то вряд ли далеко уедет даже с идой... Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Aner 0 Posted February 13, 2014 · Report post Думаю, что не сегодня это бесполезно точно, тем более без опыта писания на ассемблере! Уходит это дело в прошлое по естественно-технологическим и финансовым причинам. Заниматься дизассемблированием программы тем более под arm linux, встречал только разговоры. С исходиками под arm linux не всегда разберешься, а тут только бинарник. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
superdetka 0 Posted February 14, 2014 (edited) · Report post А если раздобыть бинарник под х86, сможет ли это улучшить ситуацию? С ассемблером можно разобраться Edited February 14, 2014 by Kirill_Good Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Alex11 0 Posted February 14, 2014 · Report post Там полегче, но все равно разбираться придется. Если нужно найти только printf - то это несложно. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
superdetka 0 Posted February 14, 2014 · Report post Спасибо за ответы, буду разбираться Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kolobok0 0 Posted February 14, 2014 · Report post А если раздобыть бинарник под х86, сможет ли это улучшить ситуацию?... да, с этим будет намного легче. т.к. анализатор типа ИДы будет опираться на известные адреса функций ядра и обозначать их мнемоникой. то бишь помимо принтф, вы увидите кучу других вызовов стандартных функций ядра и билблиотек. начнёте разбираться, в купе с попытками создать на сях и дезасэмблировать, сравнить - вы увидите быстро во что превращаются циклы, подготовки вызовов функций, работу со стэком и многое другое... Если программа писана без ухода от анализатора - то раскрутить не составит большого труда. Хуже - если авторы это предвидели. И сделали код с учётом реверсинжениринга. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SM 0 Posted February 15, 2014 · Report post да, с этим будет намного легче. т.к. анализатор типа ИДы будет опираться на известные адреса функций ядра и обозначать их мнемоникой. Для ARM тоже ids-ки можно или найти, или сделать, и тоже будут мнемоники. А если линковка динамическая (что скорее всего, раз arm linux), то тоже будут мнемоники Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
razoomeika 0 Posted April 16, 2014 · Report post Спасибо за ответы. Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...