Strona główna

Reverse Engineering

Technika odwracania, inżynieria odwrotna, inżynieria wsteczna, programowanie zwrotne (ang. reverse engineering) – proces badania produktu (urządzeniaprogramukomputerowego) w celu ustalenia, jak on dokładnie działa, a także w jaki sposób i jakim kosztem został wykonany. Zazwyczaj prowadzony w celu zdobycia informacji niezbędnych do skonstruowania odpowiednika. Innym zastosowaniem jest porównanie lub zapewnienie współdziałania z własnymi produktami. Uwaga: inżynierii wstecznej nie należy mylić z business processreengineering czy z reengineeringiem oprogramowania, którego to inżynieria odwrotna jest tylko etapem wstępnym.

Inżynieria wsteczna jest często wykorzystywana w celu osiągnięcia pewnej funkcjonalności, przy ominięciu konsekwencji wynikających z praw autorskich lub patentów.

Jest także używana przez wojsko, w celu skopiowania technologii opracowanych przez inne państwa, często wspomagana działalnością wywiadowczą. Zjawisko to było powszechne podczas II wojny światowej i zimnej wojny.

Inżynieria wsteczna oprogramowania i elementów komputera może być stosowana w celu zapewnienia obsługi nieudokumentowanym standardom zapisu, protokołom komunikacyjnym czy teżurządzeniom peryferyjnym.

Inną przyczyną dokonywania inżynierii wstecznej jest przeprowadzenie audytu bezpieczeństwa, usunięcie zabezpieczeń przed kopiowaniem (cracking) lub chęć odblokowania ukrytej funkcjonalności produktu..