Bir taşınabilir yürütülebilir dosyasının ikili dizin oluşturulmuş kaynak dosyaları almak nasıl

ÖNEMLİ: Bu makale, Microsoft Makine Çevirisi Düzenleme yazılımı tarafından tercüme edilmiş olup, yüksek olasılıkla profesyonel bir çevirmen yerine CTF teknolojisi kullanılarak, Microsoft Topluluğu tarafından düzenlenmiştir. Microsoft, Bilgi Bankamız içindeki tüm makaleleri kendi dilinizde okuyabilmeniz için size hem profesyonel çevirmenler tarafından tercüme edilen hem de makine tarafından tercüme edildikten sonra Topluluk tarafından kontrol edilen makaleler sunar. Bununla birlikte, makine tarafından tercüme edilen, hatta Topluluk tarafından kontrol edilen bir makale bile her zaman mükemmel dil kalitesinde olmayabilir. Makalede dilinizi konuşan yabancı birisinin yapabileceği türden sözcük, söz dizimi veya dilbilgisi hataları bulunabilir. Microsoft, içeriğin hatalı tercümesinin veya müşterilerimiz tarafından kullanımının doğurabileceği olası yanlış anlamalar, hatalar veya zararlardan sorumlu değildir. Öte yandan Microsoft, Makine Çevirisi Düzenleme işlemini geliştirmek amacıyla Makine Çevirisi Düzenleme yazılımını ve araçlarını sık sık güncelleştirmektedir.

Makalenin İngilizcesi aşağıdaki gibidir: 3195907
Bu makalede dizinlenmiş kaynak dosyalarını almak nasıl PE'de depolanan bilgileri kullanarak kaynak denetimi taşınabilir yürütülebilir (PE) ikili dosyadan ikili dosya program veritabanı (PDB) dosyası eşleştirmesi. Dizin oluşturulmuş kaynak dosyaları karma değerlerine PDB dosyasında gömülü olduğundan, bu karma değerler, alma sırasında kaynak dosyaların özgünlüğünü doğrulamak için kullanılabilir.

Not: Aşağıdaki adımlarda, "abc.dll" söz konusu PE dosyayı temsil eder.

Adım 1

Kullanım Symchk bir sembol sunucu konumundan eşleştirme .pdb dosyası ayrılacak. Symchk çıkış iletisinde tam simge yolunu almak için /os seçeneğini kullanın.

Örneğin, symchk /v abc.dll /s D:\symbol-path\dll /os komut satırında aşağıdaki döndürür:
[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
Çıktıda tam simge yolu D:\symbol-path\dll\abc.pdb olduğuna dikkat edin.

Adım 2A

Söz konusu PE dosyayı yerel kod ise kullanın cvdump tek tek kaynak dosyaları ve karma değerlerini görüntülemek için -sf seçeneğiyle birlikte ayrılmış .pdb dosyası karşı. MD5 veya SHA256 karma değerleri olabilir.

Adım 2B

Durumunda söz konusu PE dosyayı yönetilen kod, kullanın pdb2xml tek tek kaynak dosyaları ve karma değerlerini görüntülemek için ayrılmış .pdb dosyası karşı. SHA1 veya SHA256 karma değerleri olabilir.

Adım 3

Kullanım srctool tek tek kaynak denetimi sürüm bilgilerini göstermek için -n seçeneği ile birlikte tahsis edilen .pdb dosyası karşı kaynak dosyaları dizine.

Örneğin, srctool - n D:\symbol-path\dll\abc.pdb komut satırı aşağıdaki döndürür:

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

Adım 4

Adım 3 kaynak denetimi sürüm bilgileri tek tek dizinli kaynak dosyaları almak için kullanın. Alınan kaynak dosyalarını yerel bir dosya sistem dizinine kaydedebilirsiniz.

Adım 5

Adım 4'te alınan tek tek dizinli kaynak dosyalarını yerel her kopyası için kullanın certutil oluşturmak ve şifreleme karma kopya üzerinde görüntülemek için - hashfile fiil ile birlikte. 2B MD5, SHA1 veya SHA256 karma değeri adım 2A kaynak dosyada ilişkili veya certutil - hashfile <file_name>MD5</file_name>, certutil - hashfile <file_name>SHA1</file_name>veya certutil - hashfile <file_name>SHA256</file_name> uygun şekilde kullanın.

Adım 6

Adım 4'te alınan tek tek dizinli kaynak dosyalarını yerel her kopyası için adım 5'te certutil tarafından oluşturulan karma değeri karşılık gelen karma değeri adım 2A ya da 2B elde eşleştiğini doğrulayın. Karma değerleri eşleşmiyorsa bir şey PE/PDB çiftinin ya da kaynak denetim sistemi oluşturma sırasında yanlış gitti. Bu daha fazla araştırılmasının. Karma değerleri eşleşirse, bu kesinlikle alınan tek tek dizinli kaynak dosyaları PE/PDB çifti derlemek için kullanılan gösterir.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 3195907 - Son İnceleme: 10/05/2016 23:39:00 - Düzeltme: 1.0

  • kbmt KB3195907 KbMttr
Geri bildirim