Interested Article - Обратная разработка

Обра́тная разрабо́тка ( обратное проектирование, обратный инжиниринг , реверс-инжиниринг ; англ. reverse engineering ) — исследование некоторого готового устройства или программы, а также документации на него с целью понять принцип его работы; например, чтобы обнаружить недокументированные возможности (в том числе программные закладки ), сделать изменение или воспроизвести устройство, программу или иной объект с аналогичными функциями, но без прямого копирования.

Применяется обычно в том случае, если создатель оригинального объекта не предоставил информации о структуре и способе создания (производства) объекта. Правообладатели таких объектов могут заявить, что проведение обратной разработки или использование её результатов нарушает их исключительное право по закону об авторском праве и патентному законодательству .

Обратная разработка на службе государств

В 2016 году на заседании Правительственной комиссии по импортозамещению министр промышленности торговли РФ Д. В. Мантуров заявил о планах создать на базе Фонда развития промышленности центр обратного инжиниринга .

Программное обеспечение

Исследование и обратная разработка программ обычно осуществляются с целью дальнейшей модификации, копирования, или, например, написания генераторов ключей , алгоритм работы которых получен на основе анализа алгоритма их проверки. Также исследование программ применяется с целью получения некоторых закрытых сведений о внутреннем устройстве программы — о протоколе сетевого обмена с сервером, аппаратным средством, или о взаимодействии с другой программой. Ещё одна область применения — получение информации о способах экспортирования данных из многочисленных проприетарных форматов файлов .

С развитием Интернета популярные операционные системы и программы всё интенсивнее исследуются на предмет обнаружения в них уязвимостей или т. н. «дыр». В дальнейшем найденные дыры могут использоваться для получения несанкционированного доступа к удалённому компьютеру или компьютерной сети. C другой стороны, обратная разработка применяется при исследовании антивирусными компаниями вредоносного ПО c целью добавления его сигнатур в базы своих продуктов.

Одним из широко известных примеров обратной разработки является исследование BIOS персонального компьютера IBM , ставшее серьёзным шагом на пути развития производства IBM-совместимых компьютеров сторонними производителями. Создание сервера Samba (входящего в состав ОС GNU/Linux и работающего с серверами на базе ОС Windows ) также потребовало обратной разработки используемого Microsoft протокола SMB .

Обратная разработка программного обеспечения производится с помощью следующих методик.

  1. Анализ обмена данными, наиболее распространённый в обратной разработке протоколов обмена данными, который производится с помощью и пакетного сниффера для прослушивания шины компьютера и компьютерной сети соответственно.
  2. Дизассемблирование машинного кода программы для получения её листинга на языке ассемблера . Этот способ работает на любой компьютерной программе , но требует достаточно много времени, особенно для неспециалиста.
  3. Декомпиляция машинного или байт-кода программы для создания исходного кода на некотором языке программирования высокого уровня .

В настоящее время под словами «reverse engineering» чаще всего понимается т. н. clean room reverse engineering , то есть процесс, при котором одна группа разработчиков анализирует машинный код программы , составляет алгоритм данной программы на псевдокоде либо, если программа является драйвером какого-либо устройства, составляет исчерпывающие спецификации интересующего устройства. После получения спецификаций другая группа разработчиков пишет собственный драйвер на основе полученных спецификаций или алгоритмов . Такой подход позволяет избежать обвинений в нарушении авторских прав на исходную программу, так как по законам, к примеру в США , попадает под понятие « fair use », то есть добросовестного использования оригинальной программы. Результат обратной разработки редко идентичен оригиналу, что и позволяет избежать ответственности перед законом, особенно при условии контроля отсутствия этой идентичности первой группой разработчиков и отсутствия нарушений торговых марок и патентов.

Базы данных

Может использоваться при создании реляционной модели базы данных .

Другие сферы применения обратной разработки

Машиностроение, автомобилестроение, авиация

Копирование различных механизмов и машин без фактической разработки. Позволяет минимальными затратами воспроизвести удачную конструкцию, но есть случаи копирования и неудачных машин.

Примеры:

  • Советский грузовик АМО-3 был практически полной копией американского грузовика « ».
  • Советский лодочный мотор « Москва » был практически полной копией очень удачного американского мотора ScottAtWater .
  • Пример неудачного выбора прототипа для обратной разработки — советский лодочный мотор « Вихрь », копия немецкого мотора Koening .
  • Советский самолёт Ту-4 , за исключением двигателей, является почти точной копией американского Boeing B-29 Superfortress .
  • Практически все бензиновые двигатели, установленные на мотоблоках, генераторах и других малогабаритных машинах китайского производства — копии японских моторов .
  • Знаменитые японские АКПП Aisin A130 и A140 — несколько доработанные нелицензионные копии АКПП Chrysler 1940—1950-х годов, которые производились американской компанией на заводах в Японии после Второй мировой войны.
  • Первые китайские внедорожники Admiral, Great Wall и другие — нелицензионные практически точные копии внедорожника Toyota Hilux Surf .

Часто при реверс-инжиниринге все таки приходится вносить изменения в конструкцию, что может быть связано с отличиями технологии производства или устранением недостатков оригинала. Например, двигатели Honda GX имеют алюминиевый безгильзовый цилиндр с никосилевым напылением. Китайские клоны имеют чугунную гильзу. Трехступенчатые АККП Chrysler имеют достаточно сложный цельнокованный промежуточный вал, тогда как в их клоне Aisin A130 этот элемент собран из трех деталей и получился значительно более технологичным чем оригинальный. Лодочный мотор "Вихрь" хоть и скопирован с Koening, но конструкция целого ряда его элементов сильно упрощена.

Реверс-инжениринг в современном машиностроении напрямую связан с развитием технологии трехмерного сканирования объектов. Благодаря трехмерному сканеру весь объем данных о геометрии изделия может быть представлен в виде STL файла. Дальнейшее построение конструкторской параметрической модели осуществляется на основе STL в специализированных САПР. В конечном итоге применение 3D сканеров позволяет получать конструкторскую документацию, необходимую для изготовления копии изначального образца. Часто (например при копировании различных несложных запчастей) конструкторская документация и вовсе не разрабатывается, а полученный результат сканирования сразу же загружается в обрабатывающий центр.

Электроника

Обратная разработка электронных устройств появилась ещё на заре радиотехники. В 1920—1930 годах различные фирмы копировали друг у друга радиолампы и схемотехнические решения их применения. Именно с обратной разработкой, а не с лицензионным производством, связано то, что радиолампы одного назначения почти всех производителей оказались унифицированными и взаимозаменяемыми. Например европейская лампа EL95 клон более ранней американской лампы 6KA5. Есть и обратные примеры: американские 6CA5 и KT88 — клоны европейской лампы EL34 . То же самое относится и к советским радиолампам, многие из которых являются клонами американских ламп, получаемых по ленд-лизу (например 6Ж4, 6П9) или немецких из трофейной аппаратуры (6Г2, ГУ50). Вместе с лампами копировались и типовые схемы их включения, то есть фактически схемы блоков радиоаппаратуры. Поэтому именно благодаря обратной разработке ламповая эпоха охарактеризовалась по сути переходом к типовому проектированию в электронике. В частности, все выпускаемые в мире бытовые приемники-супергетеродины строились фактически по трём схемам, которая определялась лампой смесительно-гетеродинного узла: , триод- гептод или пентагрид . То же самое относилось и к усилителям низкой частоты. Существовало не более десятка типовых схем их построения в зависимости от выходной мощности: маломощные однотактные на комбинированной лампе типа 6Ф3П, маломощные однотактные с темброблоком на двойном триоде (типа 6Н1П) и выходном пентоде (6П14П, EL84) или лучевом тетроде (6П3С, EL34), двухтактные с триодным фазоинвертором (6Н1П + 2х6П14П), двухтактные многокаскадные (6Н8П + 2х6П6С + ГУ50). Чёрно-белые телевизоры в 1960—1970-х годах строились фактически двум схемам: одна для совсем простых аппаратов с малыми размерами экрана без АПЧГ и АПЧиФ строчной развёртки (по типу советских телевизоров УНТ-35), вторая схема предназначалась для аппаратов на кинескопах с углом отклонения луча 110°, АПЧГ, АПЧиФ (советские УНТ-59, большинство телевизоров европейских фирм) [ источник не указан 636 дней ] .

  • Советская игра «Ну, погоди!» («Электроника ИМ-02») является нелицензионной копией японской игры Nintendo EG-26.
  • Копирование различных электронных блоков без фактической разработки. Известно , что многие элементы, в частности, ТТЛ различных компаний и национальных стандартов , взаимозаменяемы. Например, американская серия интегральных схем 7400 и её советский аналог .

Промышленность

Обратная разработка продукта конкурента с целью узнать его устройство, принцип работы и оценить возможности создания аналога.

Так например, ряд производителей фототехники, таких как Sigma , Tamron , Tokina и Carl Zeiss , выпускают объективы с байонетом типа Canon EF . Они созданы методом обратной разработки, а их производители не имеют доступа к спецификациям Canon [ источник не указан 2459 дней ] .

Военная промышленность

«Jerry cans» — канистры, скопированные американцами у немцев

Самыми [ источник не указан 3741 день ] известными фактами обратной разработки являлись:

  • Немецкие канистры для бензина — в британских и американских войсках заметили, что немцы имели очень удобные канистры. Они скопировали эти канистры, и те получили название Jerry cans (от слова «gerrys» — от «Germans») .
  • Туполев Ту-4 — несколько американских бомбардировщиков B-29 при осуществлении вылетов в Японию совершили вынужденную посадку в СССР . Советские военные, не имевшие подобных стратегических бомбардировщиков, решили скопировать B-29. Через несколько лет они разработали Ту-4, практически его полную копию . В то же время двигатели, вооружение и радиоэлектронное оборудование Ту-4 не было копиями соответствующих систем В-29.
  • Тепловоз ТЭ1 — в 1945 году тепловоз RSD-1 (Д а ) (поставлялся в СССР по ленд-лизу ) привёл литерный поезд Сталина на Потсдамскую конференцию . Сталин высоко оценил данный локомотив, поэтому в 1947 году начался выпуск советской копии американского тепловоза — ТЭ1. Несмотря на некоторые отличия в размерах и отдельном оборудовании, ТЭ1 оказался практически идентичен Д а . Все нынешние российские маневровые тепловозы — потомки американского тепловоза.
  • Миномёты — немцы в военные годы успешно скопировали советские трофейные 120 мм миномёты , которые взяли себе на вооружение под именем Granatwerfer 42 .
  • Автомат Калашникова — недавно руководство ОАО «Ижмаш» заявило, что около половины всех АК в мире — «контрафактные» (то есть, производимые без лицензии и передачи технологий), из-за чего Россия около миллиарда долларов в год. В то же время, патентные ограничения (если таковые имелись) на технологии и технические решения утратили свою силу .
  • Американский гранатомёт является нелицензионной модернизированной копией советского РПГ-7 .

См. также

Литература

  • Юричев Д.,

Примечания

  1. . Дата обращения: 16 декабря 2014. 16 декабря 2014 года.
  2. от 15 июня 2017 на Wayback Machine // Правительство России
  3. Часто применяется, например, в отношении форматов, поддерживаемых Microsoft Office .
  4. . Дата обращения: 12 января 2016. Архивировано из 29 марта 2016 года.
  5. . Дата обращения: 12 января 2016. 9 ноября 2020 года.
  6. . Дата обращения: 12 января 2016. 20 октября 2017 года.
  7. . Дата обращения: 14 января 2016. 27 ноября 2015 года.
  8. . Дата обращения: 17 апреля 2010. 27 мая 2010 года.
  9. 24 мая 2007 года.
  10. . Дата обращения: 29 марта 2010. Архивировано из 24 октября 2007 года.
  11. Раков В. А. . — 2-е, переработанное и дополненное. — М. : Транспорт , 1995. — С. 374. — ISBN 5-277-00821-7 . 24 мая 2014 года. . Дата обращения: 3 августа 2012. Архивировано из 24 мая 2014 года.
  12. . Дата обращения: 26 мая 2016. Архивировано из 15 мая 2016 года.

Ссылки

  • К.В. Ахтырченко, Т.П. Сорокваша.
Источник —

Same as Обратная разработка