Знаймо

Додати знання

приховати рекламу

Цей текст може містити помилки.

Зворотній розробка



План:


Введення

Інша назва цього поняття - "Реінжиніринг";.

Зворотній розробка (зворотний інжиніринг, реверс-інжиніринг; англ. reverse engineering ) - Дослідження деякого пристрою або програми, а також документації на нього з метою зрозуміти принцип його роботи і, найчастіше, відтворити пристрій, програму чи інший об'єкт з аналогічними функціями, але без копіювання як такого.

Застосовується звичайно в тому випадку, якщо творець оригінального об'єкта не надав інформації про структуру і способі створення (виробництва) об'єкта. Використання зворотного розробки може суперечити закону про авторське право і патентному законодавству.

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


1. Сфери застосування зворотної розробки

1.1. Електроніка

  • Копіювання різних електронних блоків без фактичної розробки. Відомо [1], що багато елементів, зокрема, ТТЛ різних компаній і національних стандартів, взаємозамінні. Наприклад, американська серія інтегральних схем 7400 і її радянський аналог К (Р) 155.
  • Процесор Am386 компанії AMD створений заради сумісності з чіпом 80386 фірми Intel і на користь економічної доцільності.
  • Процесори Super386 38600SX і 38600DX компанії Chips and Technologies створені методом ОР. [Джерело не вказано 1096 днів]

1.2. Програмне забезпечення

Дослідження і зворотна розробка програм зазвичай здійснюються з метою подальшої модифікації, копіювання, або, наприклад, написання генераторів ключів, алгоритм роботи яких отримано на основі аналізу алгоритму їх перевірки. Також дослідження програм застосовується з метою отримання деяких закритих відомостей про внутрішній устрій програми - про протокол мережного обміну з сервером, апаратним засобом, ключем захисту або про взаємодію з іншою програмою. Ще одна область застосування - отримання інформації про способи експортування даних з численних пропрієтарних форматів файлів. [2]

З розвитком Інтернету популярні операційні системи та програми все інтенсивніше досліджуються на предмет виявлення в них вразливостей або т. зв. "Дірок". Надалі знайдені діри можуть використовуватися для отримання несанкціонованого доступу до віддаленого комп'ютера або комп'ютерної мережі. C іншого боку, зворотний розробка застосовується при дослідженні антивірусними компаніями шкідливого ПЗ c метою додавання його сигнатур в бази своїх продуктів.

Одним з широко відомих [Джерело не вказано 1096 днів] прикладів зворотного розробки є дослідження BIOS персонального комп'ютера IBM, що стало серйозним кроком на шляху розвитку виробництва IBM-сумісних комп'ютерів сторонніми виробниками. Створення сервера Samba (входить до складу ОС GNU / Linux і працюючого з серверами на базі ОС Windows) також зажадало зворотної розробки використовуваного Microsoft протоколу SMB. [Джерело не вказано 1096 днів] Створення багатьох ICQ -клієнтів також зажадало зворотної розробки протоколу ICQ.

Зворотній розробка програмного забезпечення проводиться за допомогою наступних методик.

  1. Аналіз обміну даними, найбільш поширений у зворотній розробці протоколів обміну даними, який проводиться за допомогою аналізатора шини і пакетного сніфер для прослуховування шини комп'ютера і комп'ютерної мережі відповідно.
  2. Дізассемблірованіе машинного коду програми для отримання її лістингу на мові асемблера. Цей спосіб працює на будь-якій комп'ютерній програмі, але вимагає досить багато часу, особливо для неспеціаліста.
  3. Декомпіляція машинного або байт-коду програми для створення вихідного коду на деякій мові програмування високого рівня.

1.2.1. Бази даних

Може використовуватися при створенні реляційної моделі бази даних.

1.3. Промисловість

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

Так наприклад, ряд виробників фототехніки, таких як Sigma, Tamron, Tokina і Carl Zeiss, випускають об'єктиви з байонетом типу Canon EF. Вони створені методом зворотної розробки, а їх виробники не мають доступу до специфікаціям Canon. Компанія Canon не гарантує коректну роботу об'єктивів сторонніх розробників на своїх фотоапаратах.


1.4. Військова промисловість

Jerry cans

Найвідомішими фактами зворотної розробки під час другої світової війни були:

  • Німецькі каністри для бензину - в британських і американських військах помітили, що німці мали дуже зручні каністри. Вони скопіювали ці каністри, і ті отримали назву Jerry cans (від слова "gerrys" - від "Germans"). [3]
  • Туполєв Ту-4 - деяка кількість американських бомбардувальників B-29 при здійсненні вильотів в Японію були змушені сідати в СРСР. Радянські військові, які не мали подібних стратегічних бомбардувальників, вирішили скопіювати B-29. Через кілька років вони розробили Ту-4, практично повну копію. [4] У той же час, двигуни, озброєння і радіоелектронне обладнання Ту-4 не було копіями відповідних систем В-29.
  • Тепловоз ТЕ1 - в 1945 році тепловоз RSD-1 (Д а) (поставлявся в СРСР по ленд-лізу) привів літерний поїзд Сталіна на Потсдамську конференцію. Сталін високо оцінив даний локомотив, тому в 1947 році почався випуск радянської копії американського тепловоза - ТЕ1. Незважаючи на деякі відмінності в розмірах і окремому устаткуванні, ТЕ1 виявився практично ідентичний Д а [5]. Всі нинішні російські маневрові тепловози - нащадки американського тепловоза.
  • Міномети - німці у воєнні роки успішно скопіювали радянські трофейні 120 мм міномети, які взяли собі на озброєння під ім'ям Granatwerfer 42.
  • Автомат Калашникова - нещодавно керівництво ВАТ "Іжмаш" заявило, що близько половини всіх АК в світі - "контрафактні" (тобто, вироблені без ліцензії та передачі технологій), через що Росія недоотримує близько мільярда доларів на рік.

2. Програмне забезпечення

2.1. Аналіз вихідного коду

З широким застосуванням IDEF (і попередньої методології - SADT) пов'язане виникнення основних ідей популярного нині поняття - BPR ( бізнес-процес-реінжиніринг).

Існують програми, які надають як можливість відновлення (зворотний, reverse) по вихідному коду загального системного проекту (класи, зв'язок між ними і т. п.), так і прямий генерації вихідного коду на основі створеного проекту (функціональних блоків бізнес-процесу):


Література

Примітки

  1. Номенклатура і аналоги вітчизняних мікросхем - qrz.ru/reference/kozak/adv/advh0.shtml
  2. Часто застосовується, наприклад, у відношенні форматів, підтримуваних Microsoft Office.
  3. AmericanHeritage.com / The Little Can That Could - www.americanheritage.com/articles/magazine/it/1987/2/1987_2_62.shtml
  4. ВАТ "Туполєв" - 68 (Ту-4) - www.tupolev.ru/Russian/Show.asp?SectionID=135&Page=2
  5. Раков В. А. Локомотиви вітчизняних залізниць 1845-1955 - www.railbook.net/?mod=books&cat=14. - 2-е, перероблене і доповнене. - М .: Транспорт, 1995. - С. 374. - ISBN 5-277-00821-7

Цей текст може містити помилки.

Схожі роботи | скачати

Схожі роботи:
Ітеративна розробка
Розробка (музика)
Розробка алгоритмів
Веб-розробка
Розробка з загальнодоступними напрацюваннями
Розробка програмного забезпечення
Зворотній згортка
Зворотній завдання
Зворотній транскриптаза
© Усі права захищені
написати до нас
Рейтинг@Mail.ru