Строка 1: |
Строка 1: |
− | '''Обра́тная разрабо́тка''' (также '''реверс инжиниринг''' от {{lang-en|reverse engineering}}) — исследование некоторого устройства, [[формат]]а, [[протокол]]а или [[Проприетарное ПО|программы]], а также создание документации на них с целью понять принцип его работы и, чаще всего, сделать устройство, программу или другой искусственный объект, с аналогичными функциями но без копирования как такового. | + | <center> |
| + | '''Asp, сам ты дятел, быдло злоебучее!''' |
| | | |
− | Применяется обычно в том случае, если создатель оригинального объекта не предоставил информации о структуре и способе создания (производства) объекта. Использование обратной разработки может противоречить закону об [[авторское право|авторском праве]] и [[патент|патентному законодательству]].
| + | '''Ты позоришь идею антикопирайта, тупорылая нерусская проблядь!''' |
| | | |
− | В настоящее время под словами «reverse engineering» чаще всего понимается т. н. «clean room reverse engineering», то есть процесс, при котором одна группа разработчиков анализирует закрытый объект (в [[хакерский сленг|сленге хакеров]] для этого процесса используется также выражение «обратный инжиниринг» или «реверсный инжиниринг»), и составляет [[алгоритм]] работы закрытого объекта на [[псевдокод]]е и/или составляет исчерпывающие спецификации изучаемого закрытого объекта. После получения спецификаций другая группа разработчиков создает открытый аналог на основе полученных спецификаций или алгоритмов. Такой подход позволяет избежать обвинений в нарушении [[авторское право|авторских прав]] на исходный объект, так как по законам, к примеру, [[США]], подпадает под понятие «[[Добросовестное использование|fair use]]», то есть добросовестного использования оригинального объекта. Результат обратной разработки редко идентичен оригиналу, что и позволяет избежать ответственности перед законом.
| + | '''Чтоб тебя за это негрокитайцы ебали в твою рваную жопу до скончания века!''' |
| + | </center> |
| | | |
− | == Сферы применения обратной разработки ==
| |
| | | |
− | === Электроника === | + | <center> |
| + | <big>'''Слава России!'''</big> |
| + | {| cellpadding=100 border=0 width=400 cellspacing=0 |
| + | |bgcolor=#DE0000| |
| + | |} |
| + | '''Ура! Ура!! Ура!!!''' |
| + | </center> |
| | | |
− | Копирование различных электронных блоков без фактической разработки. Известно, что очень большая часть советской цифровой электроники копировалась. Например, американская серия [[Интегральная схема|интегральных схем]] 74 и её советский аналог К(Р)155.
| + | [[Категория:Asp сосёт хуй]] |
− | | |
− | Ешё один пример обратной разработки — создание компанией [[AMD]] процессора [[Am386]] на базе [[Intel]] [[Intel 80386|80386]].
| |
− | | |
− | === Программное обеспечение ===
| |
− | | |
− | Исследование и обратная разработка программ обычно осуществляются с целью дальнейшей модификации, копирования, или, например, написания [[Кейген|генераторов ключей]], алгоритм работы которых получен на основе анализа алгоритма их проверки. Также исследование программ применяется с целью получения некоторых закрытых сведений о внутреннем устройстве программы — о протоколе сетевого обмена с сервером, устройством, [[ключ защиты|ключом защиты]], взаимодействия с другой программой. Ещё одна область применения — получение информации о способах экспортирования данных из многочисленных проприетарных форматов файлов<ref>Часто применяется, например, в отношении форматов, поддерживаемых [[Microsoft Office]].</ref>.
| |
− | | |
− | С развитием [[Интернет]]а исследуются популярные операционные системы и программы на предмет обнаружения [[Уязвимость_(компьютерная_безопасность)|уязвимостей]] или {{nobr|т. н.}} дыр в них. В дальнейшем найденные дыры могут использоваться для получения несанкционированного доступа к удаленному компьютеру или компьютерной сети.
| |
− | | |
− | Известный случай исследования [[BIOS]] персонального компьютера [[IBM]] — это был один из серьезных шагов для развития производства IBM-совместимых компьютеров от сторонних производителей. Также, создание сервера [[Samba]] (входящего в состав ОС [[GNU/Linux]], работающего с серверами на базе ОС [[Microsoft Windows]]) потребовало обратной разработки используемого [[Microsoft]] протокола [[SMB]].
| |
− | | |
− | Обратная разработка программного обеспечения производится с помощью следующих методик:
| |
− | # Анализ обмена данными, наиболее распространённый в обратной разработке протоколов обмена данными, который производится с помощью [[анализатор шины|анализатора шины]] и [[Анализатор трафика|пакетного сниффера]] для прослушивания [[шина (компьютер)|шины компьютера]] и [[компьютерная сеть|компьютерной сети]] соответственно.
| |
− | # [[Дизассемблирование]] с помощью [[дизассемблер]]а — означает то, что прямой [[машинный код]] программы читается и понимается в своём чистом виде, только с помощью [[мнемоника|мнемоник]] машинного языка. Этот способ работает на любой компьютерной программе, но требует достаточно много времени, особенно для неспециалиста.
| |
− | # [[Декомпиляция]] с помощью [[декомпилятор]]а — процесс создания исходного кода на некотором языке программирования высокого уровня.
| |
− | | |
− | === Промышленность ===
| |
− | | |
− | Обратная разработка некоторого продукта конкурента, с целью узнать как он устроен, как работает и как можно создать аналогичный.
| |
− | | |
− | === Военная промышленность ===
| |
− | <!--[[Файл:Jerrycan.JPG|thumb|Jerry cans]]-->
| |
− | Самыми известными фактами обратной разработки во время второй мировой войны являлись:
| |
− | * Немецкие [[канистра|канистры]] для бензина — британские и американские войска заметили, что немцы имели канистры превосходного дизайна. Они скопировали эти канистры и те получили название ''Jerry cans'' (от слова «gerrys» — Germans).
| |
− | * Туполев [[Ту-4]] — некоторое количество американских бомбардировщиков [http://en.wikipedia.org/wiki/B-29 B-29]{{ref-en}} при совершении вылетов в [[Япония|Японию]] были вынуждены садиться в [[Советский Союз|СССР]]. Советские военные, которые не имели подобных стратегических бомбардировщиков, решили скопировать B-29. Через несколько лет они разработали Ту-4, практически полную копию.
| |
− | | |
− | == Примечания ==
| |
− | <references />
| |
− | | |
− | == См. также ==
| |
− | * [[Дизассемблер]]
| |
− | * [[GNU Ferret]]
| |
− | | |
− | == Ссылки ==
| |
− | * [http://www.3dnews.ru/editorial/amd-history/index2.htm AMD: 30 лет гонки за лидером]- статья на [http://www.3dnews.ru/ 3DNews.ru].
| |
− | | |
− | {{Википедия|Обратная разработка}}
| |
− | | |
− | [[Категория:Понятия]]
| |
− | [[Категория:Программирование]] | |