Reverse engineering

Uit Wikipedia, de vrije encyclopedie

Ga naar: navigatie, zoeken
Een voorbeeld van Reverse Engineering. Het origineel wordt gescand (1) in een puntenwolk (2). De punten worden met een CAD programma vertaald in lijnen (3). De lijnen worden op hun beurt weer vertaald worden in vlakken (4). Met een freesmachine wordt vervolgens het exact gekopieerde origineel nagemaakt.

Reverse Engineering is het onderzoeken van een product (meestal een stuk software of een communicatieprotocol) om daaruit af te leiden wat de eisen zijn waaraan het product probeert te voldoen, of om de precieze interne werking ervan te achterhalen. Dit doet men mogelijk (maar zeker niet uitsluitend) met het doel een concurrerend product te ontwerpen.

Een kenmerkend voorbeeld is de eerste pc van Compaq. Klakkeloos kopiëren van de BIOS-chip zou copyright-problemen opleveren met IBM. Door reverse engineering toe te passen op de BIOS-chip van een IBM-PC, slaagde Compaq erin om een pc te maken die hetzelfde functioneerde als een IBM-PC. Hierdoor was het mogelijk om dezelfde software te laten functioneren op een Compaq-PC. Echter de prijs van de pc lag lager dan die van IBM. Deze manier van werken is door vele andere bedrijven toegepast, zodat de meeste pc's tegenwoordig in feite gekloonde IBM-PC's zijn.

Reverse Engineering is een legale manier van ontwikkelen, maar dient (vaak) te gebeuren onder strikte juridische voorwaarden. Zo moet een ingenieur die geen kennis heeft van het origineel, aan de hand van instructies, gemaakt door de partij die reverse engineering heeft toegepast, het product in elkaar zetten.

Met Reverse Engineering wordt ook bedoeld het (geautomatiseerde) proces waarmee 3GL wordt overgezet naar 4GL.

Reverse Engineering wordt ook gebruikt voor het verwijderen van kopieerbeveiligingen in software, het zogenaamde cracken.

De term Reverse Engineering slaat ook op het omzetten in een CAD-model van een door een kunstenaar of ontwerper met de hand gemaakt prototype van een nieuw object (bijvoorbeeld, de carrosserie van een wagen, of het omhulsel van een broodrooster). Die omzetting is gebaseerd op het scannen van het object, via een laserscanner, een 3D-coördinatenmeetmachine, of een stereovisiecamera.

Disassembleren is een begrip dat erg verwant is met (maar veel beperkter dan) Reverse Engineering van software. Het gaat hierbij om het opnieuw omzetten van machinetaal naar een menselijk leesbare computerprogrammeertaal. Disassembleren is het tegenovergestelde van compileren.

[bewerken] Kwalificatie van projecten

Reverse engineering kan in het algemeen worden beschreven als het op een hoger niveau inzichtelijk maken van een onderwerp. In het geval van software kan dit bijvoorbeeld gezien worden als het omzetten van de broncode naar modellen.

 
Persoonlijke instellingen
Boek maken