Pergunta

Eu escrevi um aplicativo C # para um cliente um par de anos atrás, mas eu já não tenho o código fonte. Tudo o que tenho é o EXE que eu implantado no PC do cliente. Existe uma maneira que eu possa gerar C # código fonte do EXE?

Foi útil?

Solução

refletor e seu add-in FileDisassembler

refletor permitirá ver o código fonte. FileDisassembler permitirá que você convertê-lo em uma solução VS.

Outras dicas

Quando Red Gate disse que não deixaria de ser uma versão gratuita do Net Reflector, eu comecei a usar ILSpy e Telerik de JustDecompile . Eu descobri ILSpy descompilar mais precisão do que JustDecompile (que ainda está em Beta). Red Gate mudou sua decisão e ainda tem uma versão gratuita do Net Reflector, mas agora eu como ILSpy.

A partir do site ILSpy ( http://www.ilspy.net/ ):

ILSpy é o navegador assembly .NET de código aberto e decompiler.

ILSpy Características

  • navegação Assembleia
  • IL Desmontagem
  • Decompilation para C #
  • Suporta lambdas e 'rendimento retorno'
  • documentação mostra XML
  • Saving de recursos
  • Pesquise tipos / métodos / propriedades (substring)
  • baseada em Hyperlink
  • Tipo / método / navegação de propriedade
  • Base / Derivado de navegação tipos
  • Histórico de navegação
  • BAML para XAML decompiler
  • Save Assembléia como C # projeto
  • Encontre o uso de campo / método
  • Extensible via plugins (MEF)

Update:

15 abril de 2012, ILSpy 2.0 foi lançado. Novos recursos em comparação com a versão 1.0:

  • Listas de montagem
  • Suporte para Decompiling Árvores de expressão
  • Suporte para operatores levantadas em nullables
  • Decompile para Visual Basic
  • Pesquise várias cadeias separadas por espaço (em busca de "manager Assembléia" em ILSpy.exe iria encontrar AssemblyListManager)
  • Ao clicar em uma variável local irá destacar todas as outras ocorrências de essa variável
  • Ctrl + F pode ser usado para procurar dentro da visualização de código decompiled

Update:

  • ILSpy 2,1 suportes async / await decompilation

refletor não é mais livre em geral, mas eles oferecê-lo gratuitamente para desenvolvedores de código aberto: http://reflectorblog.red-gate.com/2013/07/open-source/

Mas algumas empresas como DevExtras e JetBrains criaram alternativas gratuitas:

DevExtras CodeReflect

JetBrains DotPeek

Disassembler refletor eo Arquivo add-in de Denis Bauer. É realmente produz projetos de código de assembléias, onde refletor em seus próprios apenas exibe a fonte desmontado.

ADICIONADO:. Minha última favorito é JetBrains' dotPeek

Telerik JustDecompile é gratuito e tem um recurso para criar projetos de .NET assembléias.

Estou surpreso que ninguém tenha mencionado Microsoft é ildasm . Pode não ser tão bonita quanto ILSpy ou refletor, mas ele vem com Visual Studio tantos desenvolvedores já tê-lo.

Para executá-lo (assumindo VS 2013, devem ser semelhantes para outras versões):

  1. Selecione Iniciar> Todos os Programas> Visual Studio 2013> Visual Studio Tools.
  2. Clique duas vezes no desenvolvedor Command Prompt para VS2013.
  3. Executar "ildasm" do comando resultante alerta.
  4. Na ferramenta, selecione File> Open e abra o seu executável ou DLL.

Agora você pode navegar na estrutura de DLL. Clique duas vezes em membros da classe para ver o IL. Use Arquivo> Dump para exportar IL em um arquivo.

Você quer refletor .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top