Reverse engineering

Reverse engineering is het onderzoeken van een product (meestal een product van een concurrent, een wapen dat van een tegenstander is gestolen, 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 opgeleverd hebben met IBM. Door reverse engineering toe te passen op de BIOS-chip van een IBM-PC, slaagde Compaq erin een pc te maken die hetzelfde functioneerde als een IBM-PC. Hierdoor was het mogelijk 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 stereocamera.
Een noodzakelijke stap in reverse engineering is vaak het omzetten van het onderzochte artefact in voor mensen leesbare broncode, waaruit dat artefact dan weer te maken is. In geval van computerprogrammatuur, waarbij dat maakproces assembleren en/of compileren is, wordt dit proces disassembleren resp. decompileren genoemd. Het hangt sterk af van de gebruikte programmeertalen in hoeverre dit proces automatisch uit te voeren is. Ook op bestaande broncode is reverse engineering mogelijk: dan gaat het om het afleiden van modellen - bijvoorbeeld UML-diagrammen - die het systeem op een verhelderendere manier beschrijven dan de code zelf doet.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.