Обратная разработка
Эта статья или раздел нуждается в переработке. Пожалуйста, улучшите статью в соответствии с правилами написания статей.
|
Ошибка: неверное или отсутствующее изображение |
В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники. |
Обра́тная разрабо́тка (обратный инжиниринг, реверс-инжиниринг; англ. reverse engineering) — исследование некоторого устройства или программы, а также документации на них с целью понять принцип его работы и, чаще всего, воспроизвести устройство, программу или иной объект с аналогичными функциями, но без копирования как такового.
Применяется обычно в том случае, если создатель оригинального объекта не предоставил информации о структуре и способе создания (производства) объекта. Использование обратной разработки может противоречить закону об авторском праве и патентному законодательству.
В настоящее время под словами «reverse engineering» чаще всего понимается т. н. «clean room reverse engineering», то есть процесс, при котором одна группа разработчиков анализирует машинный код программы (в сленге хакеров для этого процесса используется также выражение «обратный инжиниринг» или «реверсный инжиниринг»), составляет алгоритм данной программы на псевдокоде, либо, если программа является драйвером какого-либо устройства, составляет исчерпывающие спецификации интересующего устройства. После получения спецификаций другая группа разработчиков пишет собственный драйвер на основе полученных спецификаций или алгоритмов. Такой подход позволяет избежать обвинений в нарушении авторских прав на исходную программу, так как по законам, к примеру в США, подпадает под понятие «fair use», то есть добросовестного использования оригинальной программы. Результат обратной разработки редко идентичен оригиналу, что и позволяет избежать ответственности перед законом.
Сферы применения обратной разработки
Проверить факты. Необходимо проверить точность фактов и достоверность сведений, изложенных в этой статье.
На странице обcуждения должны быть пояснения. |
Электроника
- Копирование различных электронных блоков без фактической разработки. Известно[источник не указан 5508 дней], что многие элементы, в частности, ТТЛ различных компаний и национальных стандартов, взаимозаменяемы. Например, американская серия интегральных схем 7400 и её советский аналог К(Р)155.[источник не указан 5508 дней]
- Процессор Am386 компании AMD создан ради совместимости с чипом 80386 фирмы Intel и в пользу экономической целесообразности.[источник не указан 5508 дней]
- Процессоры Super386 38600SX и 38600DX компании Chips and Technologies созданы методом ОР.[источник не указан 5508 дней]
Программное обеспечение
Исследование и обратная разработка программ обычно осуществляются с целью дальнейшей модификации, копирования, или, например, написания генераторов ключей, алгоритм работы которых получен на основе анализа алгоритма их проверки. Также исследование программ применяется с целью получения некоторых закрытых сведений о внутреннем устройстве программы — о протоколе сетевого обмена с сервером, аппаратным средством, ключом защиты или о взаимодействии с другой программой. Ещё одна область применения — получение информации о способах экспортирования данных из многочисленных проприетарных форматов файлов.[1]
С развитием Интернета популярные операционные системы и программы всё интенсивнее исследуются на предмет обнаружения в них уязвимостей или т. н. «дыр». В дальнейшем найденные дыры могут использоваться для получения несанкционированного доступа к удалённому компьютеру или компьютерной сети. C другой стороны, обратная разработка применяется при исследовании антивирусными компаниями вредоносного ПО c целью добавления его сигнатур в базы своих продуктов.
Одним из широко известных[источник не указан 5508 дней] примеров обратной разработки является исследование BIOS персонального компьютера IBM, ставшее серьёзным шагом на пути развития производства IBM-совместимых компьютеров сторонними производителями. Создание сервера Samba (входящего в состав ОС GNU/Linux и работающего с серверами на базе ОС Windows) также потребовало обратной разработки используемого Microsoft протокола SMB.[источник не указан 5508 дней]
Обратная разработка программного обеспечения производится с помощью следующих методик.
- Анализ обмена данными, наиболее распространённый в обратной разработке протоколов обмена данными, который производится с помощью анализатора шины и пакетного сниффера для прослушивания шины компьютера и компьютерной сети соответственно.
- Дизассемблирование с помощью дизассемблера, при котором прямой машинный код программы читается и понимается в своём чистом виде, только с помощью мнемоник машинного языка. Этот способ работает на любой компьютерной программе, но требует достаточно много времени, особенно для неспециалиста.
- Декомпиляция с помощью декомпилятора — процесс создания исходного кода на некотором языке программирования высокого уровня.
Базы данных
Может использоваться при создании реляционной модели базы данных.
Промышленность
Обратная разработка продукта конкурента с целью узнать его устройство, принцип работы и оценить возможности создания аналога.
Военная промышленность
Самыми известными фактами обратной разработки во время второй мировой войны являлись:
- Немецкие канистры для бензина — в британских и американских войсках заметили, что немцы имели очень удобные канистры. Они скопировали эти канистры, и те получили название Jerry cans (от слова «gerrys» — от «Germans»).[2]
- Туполев Ту-4 — некоторое количество американских бомбардировщиков B-29 при совершении вылетов в Японию были вынуждены садиться в СССР. Советские военные, которые не имели подобных стратегических бомбардировщиков, решили скопировать B-29. Через несколько лет они разработали Ту-4, практически полную копию[источник не указан 5602 дня].
BIOS
PhoenixBIOS, который фактически выполнял те же самые функции, что и PC BIOS фирмы IBM, но только в «клоне» IBM 5150 фирмы Compaq, против которой в 1982 году в Верховном Суде США проходили слушания по обвинению её со стороны IBM в нарушении патентного закона.[источник не указан 5508 дней] Однако IBM проиграл, так как фирме Phoenix Technologies Ltd удалось доказать, что PhoenixBIOS выполнен раскодированием оригинального PC BIOS методом обратного инжениринга.[источник не указан 5508 дней]
Программное обеспечение
Анализ исходного кода
С широким применением IDEF (и предшествующей методологии — SADT) связано возникновение основных идей популярного ныне понятия — BPR (бизнес-процесс-реинжиниринг).
Существуют программы, которые предоставляют как возможность восстановления (обратный, reverse) по исходному коду общего системного проекта (классы, связь между ними и т. п.), так и прямой генерации исходного кода на основе созданного проекта (функциональных блоков бизнес-процесса):
Реинжиниринг бизнес-процессов
См. также
Примечания
- ↑ Часто применяется, например, в отношении форматов, поддерживаемых Microsoft Office.
- ↑ [1]
Ссылки
Ошибка: неверное или отсутствующее изображение |
Для улучшения этой статьи желательно?:
|
ar:هندسة عكسية ca:Enginyeria inversa cs:Zpětné inženýrství da:Reverse engineering de:Reverse Engineering en:Reverse engineering es:Ingeniería inversa fa:مهندسی معکوس fi:Takaisinmallinnus fr:Rétro-ingénierie he:הנדסה הפוכה it:Reingegnerizzazione ja:リバースエンジニアリング kn:ತಂತ್ರಜ್ಞಾನದ ಮೂಲತತ್ವದ ಆವಿಷ್ಕಾರ (ರಿವರ್ಸ್ ಇಂಜಿನಿಯರಿಂಗ್) ko:리버스 엔지니어링 ml:റിവേഴ്സ് എഞ്ചിനീയറിംഗ് ms:Kejuruteraan undur nl:Reverse engineering pl:Inżynieria odwrotna pt:Engenharia reversa ro:Inginerie inversă sv:Reverse engineering ta:பின்னோக்குப் பொறியியல் th:วิศวกรรมผันกลับ tr:Tersine mühendislik uk:Зворотна розробка vi:Kỹ nghệ đảo ngược zh:逆向工程
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....
- Страницы с неработающими файловыми ссылками
- Википедия:Статьи к переработке
- Википедия:Статьи без ссылок на источники
- Википедия:Статьи, достоверность которых требует проверки
- Википедия:Нет источников с августа 2009
- Википедия:Статьи с утверждениями без источников более 14 дней
- Википедия:Нет источников с мая 2009
- Википедия:Статьи без сносок
- Технология
- Исследование программ
- Информационная безопасность
- Хакерский сленг
- Аппаратное обеспечение