Déterminer l'emplacement de construction orginal / chemin d'un exe en utilisant Net réflecteur ou un autre outil
-
25-09-2019 - |
Question
J'ai un EXE qui est actuellement déployé sur notre serveur de production (c # .net 2). J'ai hérité de la tâche de faire des changements à cette application et redéployant.
Je n'ai pas écrit cette application et je l'ai fait remarquer à quelques dossiers différents sur différents lecteurs réseau avec quelques différentes solutions Visual Studio (~ 10) qui étaient différentes incantations de cette application à travers le temps et pourrait être en lice pour la projet Visual studio qui a été utilisé pour générer ce exe mais je ne sais pas quel projet a été utilisé qui correspond à la production EXE.
Est-il possible en utilisant réflecteur .net ou un autre outil pour déterminer le chemin du fichier d'origine les fichiers source pondent quand ils ont été utilisés pour compiler le fichier EXE , je peux alors travailler à rebours pour déterminer le bon visuel solution studio et commencer à faire des modifications.
Merci
La solution
Cela ressemble à un enfer d'une situation si vous ne pouvez pas savoir ce qui est l'origine de ce qui est en cours d'exécution dans la production.
Néanmoins, une solution possible est de jeter un oeil à l'en-tête de débogage de l'assemblage .exe, si elle a été compilé avec les symboles de débogage, il peut contenir le chemin complet d'origine de l'pdb, vous donnant une idée de l'endroit où il a été construit. Vous pouvez l'obtenir avec l'outil dumpbin
qui fait partie des fenêtres sdk.
Voici un exemple de la sortie:
Debug Directories
Time Type Size RVA Pointer
-------- ------ -------- -------- --------
4A0F2A94 cv 51 0006672C 6492C Format: RSDS, {77468AA8-8494-46AC-87DF-422721517504}, 8, C:\sources\mcs\class\Mono.Cecil\obj\Debug\Mono.Cecil.pdb
Mieux encore, si vous avez la pdb à portée de main, vous pouvez utiliser un outil comme pdbdump pour savoir quels fichiers ont été utilisés pour compiler l'ensemble.
Autres conseils
Votre meilleur pari est probablement d'utiliser réflecteur et l'un des plug-ins de générateur de fichiers http: //www.codeplex .com / reflectoraddins pour vider le code dans les fichiers. Avant de procéder à tout changement cependant, assurez-vous que vous pouvez reconstruire.