J'ai écrit une application C # pour un client il y a quelques années, mais je n'ai plus le code source. Tout ce que j'ai, c'est le fichier EXE que j'ai déployé sur le PC du client. Existe-t-il un moyen de générer du code source C # à partir du fichier EXE?
Reflector et son complément FileDisassembler .
Le réflecteur permettra de voir le code source. FileDisassembler vous permettra de le convertir en solution VS.
Quand Red Gate a annoncé qu'il n'y aurait plus de version gratuite de .Net Reflector, j'ai commencé à utiliser ILSpy et celle de Telerik JustDecompile . J'ai trouvé que ILSpy se décompilait plus précisément que JustDecompile (qui est encore en version bêta). Red Gate a changé sa décision et a toujours une version gratuite de .Net Reflector, mais maintenant, j'aime ILSpy.
Sur le site Web ILSpy ( http://www.ilspy.net/ ):
ILSpy est le navigateur et le décompilateur .NET Assembly open-source.
Mise à jour:
Le 15 avril 2012, ILSpy 2.0 a été publié. Nouvelles fonctionnalités par rapport à la version 1.0:
Mise à jour:
Reflector n’est plus gratuit en général, mais ils l’offrent gratuitement aux développeurs open source: http://reflectorblog.red-gate.com/2013/07/open-source/
Mais quelques sociétés comme DevExtras et JetBrains ont créé des alternatives gratuites:
Réflecteur et le complément File Disassembler de Denis Bauer. Il produit en fait des projets sources à partir d’assemblées, où Reflector seul affiche uniquement la source désassemblée.
AJOUTÉ: Mon dernier favori est JetBrains ' dotPeek .
Telerik JustDecompile est gratuit et dispose d'une fonctionnalité permettant de créer des projets à partir d'assemblys .NET.
Je suis surpris que personne n'ait mentionné Microsoft ildasm. Ce n'est peut-être pas aussi joli que ILSpy ou Reflector, mais il est livré avec Visual Studio, de sorte que de nombreux développeurs l'ont déjà.
Pour l'exécuter (en supposant que VS 2013, devrait être similaire pour les autres versions):
Vous pouvez maintenant naviguer dans la structure DLL. Double-cliquez sur les membres de la classe pour voir l'IL. Utilisez Fichier> Dump pour exporter le fichier IL dans un fichier.
Vous voulez réflecteur .