274 votes

Comment pour décompiler un EXE .NET en code source lisible c# ?

J’ai écrit une application c# pour un client une couple d’années, mais je n’ai plus le code source. Tout ce que j’ai est l’EXE que j’ai déployé sur le PC du client. Est-il un moyen je peux générer le code source c# de l’EXE ?

204voto

GEOCHET Points 13787

Réflecteur et son complément FileDisassembler.

Réflecteur permettra d’afficher le code source. FileDisassembler vous permettra de le convertir en une solution VS.

150voto

Daniel Points 3174

Lorsque la Porte Rouge a déclaré qu'il ne serait plus une version gratuite de .Net Réflecteur, j'ai commencé à utiliser ILSpy et Telerik est JustDecompile. J'ai trouvé ILSpy de décompiler avec plus de précision que JustDecompile (qui est encore en version Bêta). Porte rouge a changé leur décision et ont toujours une version gratuite de .Net Réflecteur, mais maintenant je l'aime ILSpy.

À partir de la ILSpy site (http://www.ilspy.net/):

ILSpy est l'open-source .NET de l'assemblée navigateur et decompiler.

ILSpy Caractéristiques

  • Assemblée de navigation
  • IL Démontage
  • La décompilation de C#
  • Prend en charge les lambdas et de rendement de retour"
  • Montre de documentation XML
  • Économie de ressources,
  • Recherche pour les types/méthodes/propriétés (substring)
  • Hyperlien-type/méthode/propriété de la navigation
  • Base/types Dérivés de navigation
  • L'historique de Navigation
  • BAML à XAML decompiler
  • Économiser de l'Assemblée en tant que Projet C#
  • Trouver l'utilisation de la méthode, de
  • Extensible via des plugins (MEF)

Mise à jour:

Avril 15, 2012, ILSpy 2.0 a été publié. De nouvelles fonctionnalités par rapport à la version 1.0:

  • Assemblée Des Listes
  • Soutien pour la décompilation des arbres d'Expression
  • Soutien pour le levé operatores sur nullable
  • Décompiler pour Visual Basic
  • Recherche pour plusieurs chaînes de caractères séparés par des espaces (de la recherche pour "Assemblée manager" dans ILSpy.exe trouverait AssemblyListManager)
  • En cliquant sur une variable locale mettra en évidence toutes les autres occurrences de la variable
  • Ctrl+F peut être utilisé pour rechercher dans le code décompilé vue

Mise à jour:

  • ILSpy 2.1 supporte async/await décompilation

66voto

arc Points 561

Réflecteur n’est plus libre... Mais quelques entreprises comme DevExtras et JetBrains ont créé des alternatives gratuites :

DevExtras CodeReflect

JetBrains DotPeek

37voto

ProfK Points 8761

Réflecteur et le Désassembleur de fichier composant logiciel enfichable de Denis Bauer. Il produit en fait des projets de source provenant d’assemblys, où réflecteur sur sa propre affiche uniquement la source démontée.

AJOUTÉE : Mon dernier préféré est des JetBrains dotPeek.

30voto

kodefuguru Points 394

Telerik JustDecompile est gratuit et dispose d’une fonctionnalité pour créer des projets provenant d’assemblys .NET.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X