РЕВЕРСИНГ

РЕВЕРСИНГ


 


Обратный инжиниринг — это тоже своего рода высокое искусство. И как даже гениальному художнику не нарисовать очередного шедевра без хорошей кисти, так и реверсеру не разобраться с дебрями машинного кода без подходящих инструментов. 

 

01. IDA PRO 

 

Наиболее известный коммерческий инструмент для обратного анализа, разработанный компанией Hex-Rays. Когда-то, в далеких 90-х, все начиналось с дизассемблера с возможностью интерактивного редактирования и поддержкой сложных типов данных в виде структур. Сейчас это уже куда более продвинутый инструмент. Программа имеет возможность расширения и развитый SDK для разработки различных плагинов, начиная с добавления поддержки новых процессорных архитектур и до автоматизации процесса отладки при помощи встроенного API для скриптовых языков (IDC, IDAPython). Про поддержку Python стоит отдельно отметить, так как он уже довольно давно тесно интегрирован при помощи плагина IDAPython, и на данный момент поддерживает практически все возможности нативного SDK на С++, за исключением лишь совсем специфичных вещей. 

 

02. HIEW 

 

Hex-редактор и дизассемблер в одном флаконе. Конечно, Hiew не претендует на лавры IDA Pro, но порой бывает очень полезен. А поддержка встроенного ассемблирования позволяет легко модифицировать код непосредственно в исполняемом файле. Есть также поддержка скриптов на диалекте ассемблера, который позволяет, например, быстро разработать процедуру расшифрования для зашифрованных данных внутри исполняемого файла. В общем, инструмент для случаев, когда функционал IDA Pro оказывается избыточен. 

 

03. 010 EDITOR 

 

010 Editor в последнее время стал популярен среди людей, занимающихся обратным анализом. Основной изюминкой этого инструмента является удобный интерфейс для анализа различных структурированных данных. Ты можешь описать в виде С-структуры представление блока данных или формата файла и после этого получить удобную навигацию по данным. Имеется встроенный С-подобный язык для автоматизации рутинных процессов и публичный репозиторий скриптов и форматов данных. 

 

04. HEX-RAYS 

 

Первый в мире коммерческий декомпилятор, показавший, что декомпиляция низкоуровневого представления в C-подобный язык не просто возможна, но и применима для ускорения процесса реверсинга. Является расширением над IDA Pro и поддерживает только две платформы: x86 и ARM. Есть поддержка расширений для повышения эффективности анализа или добавления новых фич. Конечно, дизассемблер не заменит, но в некоторых случаях позволяет существенно упростить жизнь при анализе больших объемов кода. 

 

05. C4DECOMPILER 

 

C4Decompiler — бесплатный декомпилятор, поддерживающий платформы x86 и x64. Осуществляет декомпиляцию в C-подобный язык, но на данном этапе проигрывает по качеству декомпиляции Hex-Rays Decompiler. Поддерживает интерактивное редактирование результатов декомпиляции во встроенном редакторе, но не поддерживает возможности разработки пользовательских расширений. Радует, что тулза все-таки развивается, и, возможно, очень скоро мы получим достойную альтернативу платному Hex-Rays Decompiler.

Report Page