Obrnuti inženjering je proces rastavljanja nečega, analiziranja njegovih značajki i komponenti te ponovnog sastavljanja kako bi se u potpunosti razumio uređaj. U računalima, alati obrnutog inženjeringa mogu se koristiti za razbijanje stvari kao što su softver i baze podataka, ili se mogu koristiti u znanstvene svrhe kao što je pojednostavljenje i razbijanje ljudskog genoma radi boljeg razumijevanja i znanstvenog doprinosa. Iako su alati obrnutog inženjeringa bili na udaru kritike zbog svoje zakonitosti, postoji niz alata za razbijanje i razumijevanje mnogih različitih vrsta proizvoda, posebno softvera.
Neki softver dostupan je kao alati za obrnuti inženjering otvorenog koda i lako se može preuzeti s interneta. Jedna vrsta materijala otvorenog koda uključuje alate za obrnuti inženjering Java, koji omogućuju demaskiranje Java klasa koje su prevedene. Oni pristupaju izvornom kodu, praveći deobfuskator koji je kvazi kod. Alati obrnutog inženjeringa dizajnirani su za rad dodjeljujući nasumične imenice zamućenim klasama u Javi, a dodijelit će nasumične glagole iz engleskog jezika metodama zamućenih klasa u Javi. Za dobivanje ovakvog alata potrebno je jednostavno preuzimanje i instalaciju softvera na računalo.
Drugi alati otvorenog koda koji se lako mogu preuzeti i instalirati s Interneta uključuju analizatore za mrežne protokole. Ove vrste inženjerskog softvera hvataju pakete podataka na mreži kako bi se kasnije analizirali. Koriste se za razumijevanje operacija mrežnih protokola u vlasničkoj multimediji. Softver je besplatan za preuzimanje i dosljedno se poboljšava i poboljšava.
Druga vrsta softvera za obrnuti inženjering omogućuje izradu alata za dinamičku analizu. Ove vrste alata obrnutog inženjeringa koriste se za otkrivanje bugova u niti, kao i za upravljanje memorijom. Softver uključuje mnoge različite vrste alata, uključujući detektor za memorijske pogreške, profiler predviđanja za predmemorije i grane i generator grafova poziva, između mnogih drugih.
Postoje i alati za obrnuti inženjering koji se mogu izvoditi na određenim operativnim sustavima (OS-ovima) kao alati za ispravljanje pogrešaka i rastavljači. Ova vrsta softvera može biti otvorenog koda ili se može kupiti putem interneta. Jedan takav alat dolazi s PDF uputama i tutorijalima o tome kako ga koristiti s različitim OS-ovima, omogućujući korisniku bolje razumijevanje funkcionalnosti uređaja i OS-a. Međutim, našla se na udaru nekih mobilnih uređaja i pametnih telefona i više nije dostupna za korištenje.