2010-12-30 13 views
8

Mi chiedo se, nel contesto del disassemblaggio del codice .Net (riflettore Redgate .Net, ecc.), Sia più sicuro compilare il codice in modo nativo, usando Ngen? Cioè, vuol dire che qualcuno ora avrebbe bisogno delle abilità IDA e ASM per disassemblare (e dare un senso) al tuo codice rispetto alla relativamente banale decompilazione di MSIL?La compilazione nel codice nativo in .Net rimuove completamente l'MSIL?

Sì, sono a conoscenza del fatto che MS fornisce un obiettivo esattamente per questo scopo, ma sono curioso di sapere se la compilazione in nativo è una soluzione migliore, con alcuni compromessi (senza JIT).

Grazie.

risposta

8

ngen non rimuove il MSIL (o meglio, il binario nativo prodotto da ngen non è utilizzabile senza avere anche il file MSIL). MSIL è ancora utilizzato dal verificatore per determinare se caricare gli assembly in scenari con attendibilità parziale e per la riflessione.

C'è un sacco di buone informazioni here.

Problemi correlati