Обратная разработка или reverse engineering в IT — это разбор готового программного обеспечения на составляющие. По сути, исследование, как работает программа.
Реверс-инжиниринг часто применяется в информационной безопасности, чтобы понять принципы функционирования зловредного ПО и его нейтрализации. А также нужен в моменты, когда разработчик забросил приложение, а требуется сделать его копию или усовершенствовать работу программы.
1. С помощью анализатора шины и пакетного сниффера «прослушиваются» шины компьютера и компьютерная сеть для анализа данных, которые отправляет или получает ПО.
2. Дизассемблирование машинного кода программы для получения её листинга на языке ассемблера.
3. Декомпиляция машинного или байт-кода программы для создания исходного кода на некотором языке программирования высокого уровня.
Овладеть реверс-инжинирингом непросто, но если уж удалось это сделать, то подобный специалист занимает высокое место в пантеоне IT-славы. А копаться под капотом ПО — интересное занятие для развития логики и поиска новых идей для кода.
Полезные ссылки:
— Реверс-инжиниринг для начинающих: основные концепции программирования
— Reverse engineering: обратная разработка приложений для самых маленьких