Обратная разработка взята
из старых отраслей промышленности для
того изучения объекта, чтобы увидеть,
как он работает, чтобы дублировать
объект. В настоящее время часто
используется на компьютерных аппаратных
средствах и программном обеспечении.
Программное обеспечение включает в
себя обратный инжиниринг машинного
кода программы (строку 0 и 1, которые
посылаются в логический процессор)
обратно в исходный код, на котором он
была написана программа.
Обратная разработка программного
обеспечения используется для того,
чтобы получить исходный код программы,
так как исходный код был потерян, чтобы
изучить, как программа выполняет
определенные операции, чтобы улучшить
производительность программы, чтобы
исправить ошибку (исправить ошибку в
программе, когда исходный код не
доступен), для выявления вредоносного
контента в таких программах, как вирус
или адаптировать программу, написанную
для использования с одним микропроцессором
для использования с другим. Обратная
разработка с целью копирования или
тиражирования программ может представлять
собой нарушение авторских прав. В
некоторых случаях лицензированное
использование программного обеспечения
в частности, запрещает Обратную
разработку.
Обратную разработку программного
обеспечения делают с использованием
инструментов. Одним из инструментов
является шестнадцатеричным демпфер,
который печатает или отображает двоичные
числа программы в шестнадцатеричном
формате (который легче читать, чем
двоичный формат). Зная структуры битов,
которые представляют инструкции
процессора, а также длины команд, реверс
инженер может идентифицировать
определенные части программы, чтобы
увидеть, как они работают. Другим
распространенным инструментом является
дизассемблер. Дизассемблер считывает
двоичный код, а затем отображает каждую
исполняемую команду в текстовом виде.
Дизассемблер не может показать разницу
между исполняемой инструкцией и данными,
используемых программой тогда используется
отладчик, который позволяет дизассемблер,
избежать дизассемблирование частей
данных программы. Эти инструменты могут
быть использованы взломщиком для
изменения кода и получения доступа к
компьютерной системе или причинить
иной вред. Если говорить об аппаратном
реверс инжиниринге, то он требует
большого опыта и требует больших денежных
затрат.
Другой тип обратной разработки
включает получение 3-D изображений,
изготовленных деталей, когда чертежи
не доступны, чтобы перерабатывать часть.
Для того, чтобы перепроектировать часть,
она измеряется с помощью
координатно-измерительной машины (КИМ),
изображения генерируется и отображается
на мониторе. После того, как измерение
закончено, проволочный каркас изображение
имеет такие размеры. Обратная разработка
может показать весь исходный код в
приложениях .NET поэтому в качестве
защитной меры используется запутывание
- обфускация.
Obfuscation - метод, который часто
используется для защиты исходного кода
приложения. Практика обфускации позволяет
скрыть, очистить потенциально значимые
метаданные, переименовывать полезный
класс и имена переменных на бессмысленным
метки и добавляя неиспользуемый или
бессмысленный код в двоичный файл
приложения для того, чтобы усложнить
или сделать невозможным реверс инжиниринг.
Комментариев нет:
Отправить комментарий