Što je obrnuti inženjering?

Neki pojmovi su sami po sebi razumljivi. Takav je slučaj s obrnutim inženjeringom, koji doslovno rastavlja nešto i ponovno sastavlja. To se može učiniti fizički ili virtualno, a namjera je shvatiti kako nešto funkcionira kako bi se stvorilo nešto slično.
Obrnuti inženjering se provodi stoljećima, gotovo dok su ljudi stvarali stvari. Ponekad se obrnuti inženjering radi s ciljem poboljšanja postojeće kreacije, dok drugi slučajevi obrnutog inženjeringa uključuju krađu tehnologije. Potonje je posebno bio slučaj s oružjem kroz povijest ratovanja.

Nije samo oružje predmet obrnutog inženjeringa. Svakodnevne stvari poput vozila, DVD-a i uređaja predmet su intenzivnog ispitivanja u četvrtima diljem svijeta. Neke tvrtke imaju naviku uvoziti robu iz drugih zemalja, rastavljaju tu robu dio po dio, a zatim koriste obrnuti inženjering kako bi izradile vlastitu.

Obrnuti inženjering radi se i u virtualnom svijetu. Računalni umjetnici i znanstvenici prakticiraju obrnuti inženjering izrađujući 3D modele uređaja iz stvarnog svijeta, a zatim ih virtualno dekonstruiraju kako bi vidjeli kako rade. Ponekad ih ponovno sastavljaju, bilo točno ili na malo drugačiji način. Pojava teških poslužitelja i grafičkih paketa učinila je to mogućim i poželjnim.

Računala također prakticiraju obrnuti inženjering na fundamentalnijoj razini. Jedan oblik ove vrste obrnutog inženjeringa je dekompilacija. Dekompilacija je proces tijekom kojeg će računalo pretvoriti informacije iz niskorazinskog formata (računalni kod) u format visoke razine (ASCII tekst i brojevi), kako bi se omogućilo ljudima da čitaju stvari kao što su upute i web-članci. Uobičajene pojave dekompiliranja uključuju prijenos datoteka s jednog korisnika na drugog, kao što je razmjena podataka ili slika u e-poruci, ili za ponovnu izgradnju kodiranja koje je oštećeno ili nikada nije dovršeno. Dekompilacija također može doći u obliku sigurnosnih proboja, u kojima će haker koristiti obrnuti inženjering kako bi rekonstruirao podatke koje je netko drugi tako očajnički želio sakriti putem enkripcije.

Druga dvostruka upotreba obrnutog inženjeringa je u stvaranju i prevenciji računalnih virusa. Kreatori virusa zaranjaju u unutrašnjost računalnog koda kako bi pronašli mjesta za zakopavanje svojih kreacija. Pregradnjom strojnog koda kao izvornog koda, kreator virusa može pronaći ono što traži. S druge strane tih radnji su ljudi koji nastoje spriječiti ili uništiti računalne viruse. Oni također koriste obrnuti inženjering kako bi dekonstruirali sam virus i uništili ili predvidjeli štetne izvršne datoteke.