Tra parentesi, non c'è molto da sconvolgersi: qualunque linguaggio compilato in codice intermedio è facilmente decompilabile, visto che contiene grandi quantità di metadati necessari, tra le altre cose, per avere una buona astrazione (e quindi portabilità multipiattaforma), per far funzionare i meccanismi di sicurezza del codice (CAS) e soprattutto la reflection.