Quantcast
Channel: Linux.org.ru: Форум
Viewing all articles
Browse latest Browse all 108361

Нужен консольный (с stdin & stdout) дизассемблер.

$
0
0

Сразу скажу, objdump не подходит. Задача такая. Есть сотня бинарников, которые нужно пропатчить одним и тем же способом. Конкретно - найти printf известной строки, лежащей в .rodata, подняться выше по коду, найти jnz и заменить на nop :).

Выяснилось, что objdump не умеет показывать строковые референсы, поэтому грепать дизассеммблированный код с наскоку не получается. Сейчас мне приходится делать следующие действия. С помощью 'strings -t x' я нахожу абсолютное смещение строки в файле. Далее, через objdump -H я нахожу адрес и смещение секции .rodata. Потом складываю одно с другим и нахожу адрес строки. Вот его уже можно грепать скриптом.

Есть ли способ сократить телодвижения? Ida Pro умеет показывать референсы, но умеет ли оно в потоковое дизассемблиование и последующий патчинг?

Спасибо

 , ,


Viewing all articles
Browse latest Browse all 108361

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>