Vad är reverse engineering?

Vissa termer är självförklarande. Så är fallet med reverse engineering, som bokstavligen är att ta isär något och sätta ihop det igen. Detta kan göras fysiskt eller virtuellt, och avsikten är att ta reda på hur något fungerar för att skapa något liknande.
Reverse engineering har gjorts i många århundraden, nästan lika länge som människor har skapat saker. Ibland görs reverse engineering i syfte att förbättra en befintlig skapelse medan andra fall av reverse engineering involverar att stjäla teknik. Det senare har särskilt varit fallet med vapen genom hela krigsföringens historia.

Det är inte bara vapen som är föremål för reverse engineering. Vardagliga saker som fordon, DVD-skivor och apparater är föremål för intensiv granskning på håll runt om i världen. Vissa företag har för vana att importera varor från andra länder, plocka isär varorna bit för bit och sedan använda reverse engineering för att göra sina egna.

Reverse engineering görs också i den virtuella världen. Datakonstnärer och forskare utövar reverse engineering genom att göra 3D-modeller av verkliga enheter och sedan dekonstruera dem virtuellt för att se hur de fungerar. Ibland sätter de ihop dem igen, antingen exakt eller på ett lite annorlunda sätt. Tillkomsten av tunga servrar och grafiksviter har gjort detta både möjligt och önskvärt.

Datorer utövar reverse engineering på en mer grundläggande nivå också. En form av denna typ av reverse engineering är dekompilering. Dekompilering är en process under vilken en dator konverterar information från ett lågnivåformat (datorkod) till ett högnivåformat (ASCII-text och siffror), för att tillåta människor att läsa saker som instruktioner och webbartiklar. Vanliga förekomster av dekompilering involverar överföring av filer från en användare till en annan, som ett utbyte av data eller bilder i ett e-postmeddelande, eller för återuppbyggnad av kodning som har skadats eller aldrig slutförts. Dekompilering kan också komma i form av säkerhetsintrång, där en hackare använder reverse engineering för att rekonstruera data som någon annan så desperat ville dölja via kryptering.

En annan dubbel användning av reverse engineering är att skapa och förebygga datavirus. Virusskapare gräver ner sig i datorkodens inre för att hitta platser att begrava sina skapelser. Genom att bygga om maskinkoden som källkod kan virusskaparen hitta det han eller hon letar efter. På baksidan av dessa åtgärder finns de människor som försöker förhindra eller förstöra datavirus. De använder också reverse engineering för att dekonstruera själva viruset och förstöra eller förutse de skadliga körbara filerna.