Cum se recuperează fișierele sursă indexate de un fișier binar executabil portabil

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 3195907
Acest articol descrie cum se recuperează fișierele sursă indexate de un fișier binar executabil portabil (PE) din control sursă utilizând informațiile stocate în PE fișier binar pe asocierea fișierul acoperire de date (ppb) programului. Deoarece fișierele sursă indexate au valorile hash încorporată în fișierul PDB, aceste valori hash poate fi folosit pentru a verifica autenticitatea fișierele sursă în timpul lor de regăsire.

Notă În pașii următori, "abc.dll" reprezintă PE fișierul respectiv.

Pasul 1

Utilizarea Symchk pentru a aloca fișierul .pdb împerechere dintr-o locație de server de simboluri. Utilizați opțiunea /os pentru a obține cale completă simbol în mesajul de ieșire symchk.

De exemplu, în linia Către de comandă symchk /v abc.dll /s D:\symbol-path\dll /os returnează următoarele:
[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
În rezultatele, observați că este cale completă simbol D:\symbol-path\dll\abc.pdb.

Pasul 2A

Dacă fișierul PE în cauză este cod nativ, utilizați cvdump împotriva fișierul alocat .pdb împreună cu opțiunea -sf pentru a vizualiza fișierele sursă individuale și valorile hash. Valorile hash poate fi MD5 sau SHA256.

Pasul 2B

Dacă fișierul PE în cauză este gestionată cod, utilizați pdb2xml împotriva fișierul .pdb alocat pentru a vizualiza fișierele sursă individuale și valorile hash. Valorile hash poate fi SHA1 sau SHA256.

Pasul 3

Utilizarea srctool împotriva fișierul alocat .pdb împreună cu opțiunea -n pentru a afișa informațiile despre versiune sursă control individuale indexate fişierele sursă.

De exemplu, în linia Către de comandă srctool n D:\symbol-path\dll\abc.pdb returnează următoarele:

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

Pasul 4

Utilizați informațiile despre versiune sursă control de la Pasul 3 pentru a regăsi fişierele sursă indexate individuale. Aveți posibilitatea să salvați fișierele sursă adus într-un director de sistem de fișiere locale.

Pasul 5

Pentru fiecare copie locală a fișierelor adus sursă indexate individuale în Pasul 4, utilizați certutil împreună cu textul - hashfile pentru a genera și a afișa hash criptografic prin copia. Dacă valoarea hash asociate cu fişierul sursă în pasul 2A sau 2B este MD5, SHA1 sau SHA256, utilizați certutil - hashfile <file_name>MD5</file_name>, certutil - hashfile <file_name>SHA1</file_name>sau certutil - hashfile <file_name>SHA256</file_name> în mod corespunzător.

Pasul 6

Pentru fiecare copie locală a fișierelor adus sursă indexate individuale în Pasul 4, Verificați că valoarea hash generat de certutil în pasul 5 coincide cu valoarea hash corespunzătoare obținută în pasul 2A sau 2B. Dacă nu se potrivesc valorile hash, ceva poate au trecut greșit în timpul generare PE/PDB pereche sau în sistemul de control sursă. Acest lucru poate garantează în continuare anchetă. În cazul în care se potrivesc cu valorile hash, acest lucru indică clar că fișierele adus sursă indexate individuale s-au utilizat pentru a compila pereche PE/PDB.

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 3195907 - Ultima examinare: 10/05/2016 23:37:00 - Revizie: 1.0

  • kbmt KB3195907 KbMtro
Feedback