Comment faire pour récupérer des fichiers source indexé d’un fichier binaire exécutable portable

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 3195907
Cet article décrit comment extraire les fichiers source indexé d’un fichier binaire du fichier exécutable portable (PE) à partir du contrôle de code source à l’aide des informations stockées dans le PE fichier binaire d’appairage du fichier de programme (PDB) de la base de données. Étant donné que les fichiers sources indexées ont leurs valeurs de hachage incorporés dans le fichier PDB, ces valeurs de hachage peuvent être utilisés pour vérifier l’authenticité des fichiers source lors de leur récupération.

Remarque Dans les étapes suivantes, « abc.dll » représente le fichier PE en question.

Étape 1

Utilisation Symchk pour allouer le fichier .pdb appariement à partir d’un emplacement de serveur de symboles. Utilisez l’option /os pour obtenir le chemin d’accès complet de symbole dans le message de sortie symchk.

Par exemple, la ligne de commande de symchk /v abc.dll /s D:\symbol-path\dll /os renvoie ce qui suit :
[SYMCHK] Searching for symbols to abc.dll in path D:\symbol-path\dllDBGHELP: abc - private symbols & lines        D:\symbol-path\dll\abc.pdb[SYMCHK] SymType: SymPDB[SYMCHK] ModName: abc[SYMCHK] ImageName: abc.dll[SYMCHK] LoadedImage: abc.dll[SYMCHK] PDB: "D:\symbol-path\dll\abc.pdb"[SYMCHK] PDB7 Sig: {625880BA-C1D4-4673-BFA2-07F90AAD7EC4}[SYMCHK] Age: 1[SYMCHK] PDB Matched:  TRUESYMCHK: FAILED files = 0SYMCHK: PASSED + IGNORED files = 1
Dans la sortie, notez que le chemin d’accès complet est D:\symbol-path\dll\abc.pdb.

Étape 2 a

Si le fichier PE en question est du code natif, utilisez cvdump dans le fichier .pdb alloué avec l’option -sf permet d’afficher les fichiers sources individuelles et leurs valeurs de hachage. Les valeurs de hachage peuvent être MD5 ou SHA256.

Étape 2 b

Si le fichier PE en question est géré de code, utilisez pdb2xml dans le fichier .pdb alloué pour afficher les fichiers sources individuelles et leurs valeurs de hachage. Les valeurs de hachage peuvent être SHA1 ou SHA256.

Étape 3

Utilisation SRCTOOL dans le fichier .pdb alloué avec l’option -n pour afficher les informations de version de contrôle de source de personne indexé des fichiers de code source.

Par exemple, la ligne de commande -n srctool D:\symbol-path\dll\abc.pdb renvoie ce qui suit :

d:\publicint\sdk\inc\api_x.h <source control server URL> d:\publicint\sdk\inc\api_x.h#34d:\abc_dll\abc.c <source control server URL> d:\abc_dll\abc.c#1

Étape 4

Utilisez les informations de version de contrôle de code source à partir de l’étape 3 pour récupérer des fichiers individuels de sources indexées. Vous pouvez enregistrer les fichiers source extraits vers un répertoire de système de fichiers local.

Étape 5

Pour chaque copie locale des fichiers source d’indexée individuels récupérées à l’étape 4, vous devez utiliser certutil avec le verbe - hashfile pour générer et afficher le hachage cryptographique sur la copie. Si la valeur de hachage associé avec le fichier source dans l’étape 2 a ou 2 b soit MD5, SHA1, SHA256, utilisez certutil - hashfile <file_name>MD5</file_name>, <file_name>SHA1</file_name>de certutil - hashfileou certutil - hashfile <file_name>SHA256</file_name> en conséquence.

Étape 6

Pour chaque copie locale des fichiers source d’indexée individuels récupérées à l’étape 4, vérifiez que la valeur de hachage qui est générée par certutil à l’étape 5 correspond à la valeur de hachage correspondant obtenue à l’étape 2 a ou 2 b. Si les valeurs de hachage ne correspondent pas, quelque chose peut avoir été incorrect lors de la génération de la paire de PE/PDB ou dans le système de contrôle de code source. Cela peut nécessitent une étude approfondie. Si les valeurs de hachage correspondent, cela indique fortement que les fichiers source d’indexée individuels récupérées ont été utilisés pour compiler la paire PE/PDB.

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 3195907 - Dernière mise à jour : 10/05/2016 23:31:00 - Révision : 1.0

  • kbmt KB3195907 KbMtfr
Commentaires