J'ai écrit une application C # pour un client il y a quelques années, mais je n'ai plus le code source. Je n'ai que l'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 de l'EXE?
c#
.net
reverse-engineering
decompiling
MusiGenesis
la source
la source
Réponses:
Reflector et son complément FileDisassembler .
Le réflecteur permettra de voir le code source. FileDisassembler vous permettra de le convertir en solution VS.
la source
Lorsque Red Gate a dit qu'il n'y aurait plus de version gratuite de .Net Reflector, j'ai commencé à utiliser ILSpy et JustDecompile de Telerik . J'ai trouvé ILSpy pour décompiler plus précisément que JustDecompile (qui est toujours 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.
Depuis le site Web ILSpy ( https://github.com/icsharpcode/ILSpy/ ):
ILSpy est le navigateur et décompilateur d'assembly .NET open source.
Fonctionnalités ILSpy
Mettre à jour:
Le 15 avril 2012, ILSpy 2.0 est sorti. Nouvelles fonctionnalités par rapport à la version 1.0:
Mettre à jour:
la source
Reflector n'est plus gratuit en général, mais ils le proposent gratuitement aux développeurs open source: http://reflectorblog.red-gate.com/2013/07/open-source/
Mais quelques entreprises comme DevExtras et JetBrains ont créé des alternatives gratuites:
DevExtras CodeReflect
JetBrains DotPeek
la source
Reflector et le complément File Disassembler de Denis Bauer. Il produit en fait des projets source à partir d'assemblages, où Reflector à lui seul n'affiche que la source désassemblée.
AJOUT: Mon dernier favori est le dotPeek de JetBrains .
la source
Telerik JustDecompile est gratuit et dispose d'une fonctionnalité pour créer des projets à partir d'assemblages .NET.
la source
Je suis surpris que personne n'ait mentionné l' ildasm de Microsoft . Il n'est peut-être pas aussi joli qu'ILSpy ou Reflector, mais il est livré avec Visual Studio, 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 IL dans un fichier.
la source
Vous voulez un réflecteur .
la source