2011-01-16 13 views
19

C'è qualche software per fare questo? Non ho trovato alcuna informazione utile su internet, quindi ti sto chiedendo qui.Come si estrae il codice sorgente delle classi da un file dll?

+0

Il codice sorgente originale che è stato compilato? Semplicemente non possibile. Qualcosa di funzionalmente equivalente? Sì. – delnan

+0

@delnan - Cosa intendi per equivalente funzionale? Scusa nuovo a tutto questo. Non l'ho capito Voglio estrarre il codice delle classi (scritto in C# .net) da un file dll. il file dll ha le troppe classi. Qualche modo per ottenere quel codice da quella dll? – ILoveMusic

+0

@ILoveMusic È possibile estrarre qualcosa come il codice originale, ma non quello esatto. Usa il riflettore .NET. –

risposta

19

Non è possibile ottenere il codice esatto, ma è possibile ottenerne una versione decompilata.

Il più popolare (e migliore) strumento è Reflector, ma ci sono anche altri decompilatori .Net (come ad esempio Dis#). Puoi anche decompilare l'IL usando ILDASM, che viene fornito in bundle con .Net Framework SDK Tools.

+6

In questi giorni probabilmente dovresti usare ILSpy o dotPeek. Entrambi sono ** gratuiti ** e fanno un ottimo lavoro. Trovo meglio dotPeek a causa della navigazione, e anche ILSpy richiede molto tempo per essere avviato. Inoltre, una volta ho decompilato un assembly che avevo oscurato (per strumenti di test) e il reflector .NET di Redgate si blocca immediatamente dalla più semplice offuscazione. ILSpy e dotPeek non hanno avuto problemi e l'hanno caricato istantaneamente. Evidenzia anche la selezione in modo da poter gestire in qualche modo l'offuscamento. – MasterMastic

12

Solo i linguaggi gestiti come c# e Java possono essere decompilati completamente. È possibile visualizzare il codice sorgente completo. Per Win32 dll non è possibile ottenere il codice sorce.

Per CSharp dll Usa DotPeek per tradizione familiare, è gratuito e funziona stessa ReDgate .Net Compiler

Buon divertimento.

0

Se vuoi sapere solo alcune nozioni di base all'interno del gruppo di dll esempio Classi, metodo, ecc., Per caricarli in modo dianamicamente

è possibile utilizzare lo strumento IL Disassembler fornito da Microsoft.

In generale si trova in: "C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin"

Problemi correlati