2012-01-31 32 views
6

Possiedo un eseguibile che richiede l'esecuzione di .NET Framework; Ho usato riflettore e alcuni decompilatori popolari ma non riesco a leggere l'eseguibile;Impossibile decompilare eseguibile con .NET.

Ecco il manifest ottenuto utilizzando Resource Hacker;

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> 
    <security> 
     <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <requestedExecutionLevel level="asInvoker" uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 

Qualcuno può dirmi lo strumento appropriato da utilizzare per decompilare questo assembly o eseguibile? Richiede l'esecuzione di .NET. Grazie. Lo sto usando a scopo didattico.

+3

"ma non riesco a leggere l'eseguibile" - eventuali errori o avvertenze che potrebbero dare qualche informazione ?? – craig1231

+0

Grazie a tutti. De4Dot lo ha fatto. – Blank

risposta

9

Sembra che il file eseguibile potrebbe essere stato offuscato (protetto) contro .NET strumenti decompliation/riflessione, come riflettore, ILSpy, dotPeek ecc

Ci sono diversi strumenti disponibili che eseguono tale tutela, tra cui Babel.NET e Dotfuscator.

Si potrebbe provare de4dot, che può 'deobfuscate'. Assemblies .NET che sono stati protetti utilizzando diversi strumenti, tra cui Crypto Obfuscator, Dotfuscator, NET Reactor e SmartAssembly.

+0

Grazie. de4dot lo ha fatto! – Blank

0

Se Reflector non può decompilarlo, deve essere stato offuscato con uno strumento di offuscamento del codice come SmartAssembly o Dotfuscator.

In questo caso, non è possibile decompilare l'applicazione.

+2

In nessun modo? Il runtime è in grado di ottenere l'IL in qualche modo, quindi devo essere in grado di fare lo stesso. – svick

+0

Questo è ciò che penseresti ... Ma questi strumenti sono chiamati offuscatori per una ragione. Si rompono decompilers. Ecco perché Reflector non può decompilare tutto ciò che è offuscato con uno strumento adeguato. Grazie per il downvoting, a proposito! –

+2

Non ho fatto un downvote, ma hai ragione si chiamano offuscatori per una ragione: e questo perché rendono la decompilazione * più difficile, ma non impossibile *. Se è possibile eseguire il codice, è possibile decompilarlo (almeno sui PC). È così semplice e nessuno strumento può cambiarlo. – svick

3

Questa è un'app clickonce.

Innanzitutto, è necessario estrarre il contenuto (non ricordare se ".app" è un CAB o ZIP). Quindi usa Reflector o il tuo decompilatore preferito.

+0

L'app è un .exe; Come estrarre? – Blank

+1

No, il programma di installazione clickonce è probabilmente un file EXE. – leppie

Problemi correlati