Domanda

Ho scritto un'applicazione C # per un client un paio di anni fa, ma non ho più il codice sorgente. Tutto quello che ho è il file EXE che ho distribuito sul PC del client. Esiste un modo per generare codice sorgente C # da EXE?

È stato utile?

Soluzione

Reflector e il suo componente aggiuntivo FileDisassembler .

Reflector consentirà di vedere il codice sorgente. FileDisassembler ti permetterà di convertirlo in una soluzione VS.

Altri suggerimenti

Quando Red Gate disse che non ci sarebbe stata più una versione gratuita di .Net Reflector, ho iniziato a usare ILSpy e Telerik's JustDecompile . Ho trovato ILSpy decompilare in modo più accurato di JustDecompile (che è ancora in beta). Red Gate ha cambiato la sua decisione e ha ancora una versione gratuita di .Net Reflector, ma ora mi piace ILSpy.

Dal sito web ILSpy ( http://www.ilspy.net/ ):

ILSpy è il browser e decompilatore di assembly .NET open source.

Caratteristiche di ILSpy

  • Navigazione in assembly
  • Disassemblaggio IL
  • Decompilazione in C #
  • Supporta lambdas e 'return return'
  • Mostra la documentazione XML
  • Risparmio di risorse
  • Cerca tipi / metodi / proprietà (sottostringa)
  • Tipo / metodo / navigazione delle proprietà basato su collegamento ipertestuale
  • Navigazione di tipi di base / derivati ??
  • Cronologia di navigazione
  • Decompilatore da BAML a XAML
  • Salva assieme come progetto C #
  • Trova utilizzo del campo / metodo
  • Estensibile tramite plug-in (MEF)

Aggiornamento:

15 aprile 2012, ILSpy 2.0 è stato rilasciato. Nuove funzionalità rispetto alla versione 1.0:

  • Elenchi di assiemi
  • Supporto per decompilare gli alberi delle espressioni
  • Supporto per operatori sollevati su nullable
  • Decompila in Visual Basic
  • Cerca più stringhe separate da spazio (la ricerca di " Assembly manager " in ILSpy.exe troverebbe AssemblyListManager)
  • Facendo clic su una variabile locale verranno evidenziate tutte le altre occorrenze di quella variabile
  • Ctrl + F può essere utilizzato per cercare all'interno della vista del codice decompilata

Aggiornamento:

  • ILSpy 2.1 supporta la decompilazione asincrona / wait

Reflector non è più gratuito in generale, ma lo offrono gratuitamente agli sviluppatori open source: http://reflectorblog.red-gate.com/2013/07/open-source/

Ma alcune aziende come DevExtras e JetBrains hanno creato alternative gratuite:

DevExtras CodeReflect

JetBrains DotPeek

Reflector e il Disassemblatore di file di Denis Bauer. In realtà produce progetti sorgente da assiemi, in cui Reflector da solo mostra solo la fonte smontata.

AGGIUNTO: Il mio ultimo preferito è dotPeek di JetBrains.

Telerik JustDecompile è gratuito e ha una funzione per creare progetti da assembly .NET.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top