Некоторые преимущества использования декомпиляторов:
- Восстановление исходного кода. 1 Декомпиляция полезна, если оригинальные исходники недоступны. 1
- Миграция приложений. 1 Декомпиляторы помогают переносить приложения на новую аппаратную платформу. 1
- Определение наличия вирусов или вредоносного кода. 1
- Коррекция ошибок, когда владелец приложения недоступен для их исправления. 1
- Изучение чужого исходного кода. 1 Например, для определения алгоритма. 1
Некоторые недостатки использования декомпиляторов:
- Невозможность полностью автоматизированной декомпиляции. 1 Ни один декомпилятор не может точно воспроизвести оригинальный исходный код. 1
- Сложности с интерпретацией машинного кода. 1 Декомпилятору сложно понять серию инструкций машинного языка и определить, какой была исходная инструкция. 1
- Ошибки, связанные с выведением типов. 4 Декомпиляторы не способны полностью корректно восстановить типы. 4
Также стоит учитывать, что использование декомпиляторов может быть незаконным, так как компьютерные программы защищены авторскими правами. 1