title: Decompiler
text: Een decompiler is een programma dat een gecompileerd bestand terug vertaalt naar de broncode, en is daarmee het omgekeerde van een compiler. Het proces van compileren is in de meeste programmeertalen echter niet omkeerbaar: het resultaat van compileren en decompileren is niet de oorspronkelijke broncode, maar wel een min of meer functioneel equivalente uitdrukking daarvan.
  
  Terwijl een compiler vertaalt naar machinetaal (de taal die de computer kan uitvoeren) of bytecode, zet daarentegen een decompiler de machinetaal of bytecode om naar een broncode in een programmeertaal.
  
  Meestal wordt iedere vorm van decompilatie expliciet verboden in de licentieovereenkomst als schending van de auteursrechten (t.o.v. de programmeur). Decompilers die werken op machinetaal worden trouwens zeer schaars: de compilers van sommige programma's genereren heden ten dage vrij moeilijk te begrijpen machinetaal. Omdat het echter steeds gebruikelijker wordt om te compileren naar bytecode voor een virtuele machine (denk bijvoorbeeld aan Java, .NET, Flash en Parrot), en bytecode zich in het algemeen vrij makkelijk laat decompileren, is er sprake van een groeiende vraag naar, en een groeiend aanbod van, decompilers.
  
  Zie ook
  Disassembler
  
  Externe links
  The Decompilation Wiki
  
  Compiler