Làm thế nào để lấy các tập tin nguồn được đánh mục chỉ dẫn tệp nhị phân thực thi di động

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch thuật của Microsoft và có thể được Cộng đồng Microsoft chỉnh sửa lại thông qua công nghệ CTF thay vì một biên dịch viên chuyên nghiệp. Microsoft cung cấp các bài viết được cả biên dịch viên và phần mềm dịch thuật thực hiện và cộng đồng chỉnh sửa lại để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng nhiều ngôn ngữ Tuy nhiên, bài viết do máy dịch hoặc thậm chí cộng đồng chỉnh sửa sau không phải lúc nào cũng hoàn hảo. Các bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này: 3195907
Bài viết này mô tả làm thế nào để lấy các tập tin nguồn được lập mục chỉ dẫn của tệp nhị phân thực thi di động (PE) từ nguồn điều khiển bằng cách sử dụng thông tin được lưu trữ trong PE tệp nhị phân của cặp tệp chương trình bộ máy cơ sở dữ liệu (PDB). Vì tệp nguồn được lập mục chỉ dẫn của giá trị băm nhúng tập tin PDB, các giá trị băm có thể sử dụng để kiểm tra xác thực tệp nguồn trong quá trình truy xuất của họ.

Lưu ý: Trong các bước sau, "abc.dll" đại diện cho tệp PE trong câu hỏi.

Bước 1

Sử dụng symchk cấp phát tệp .pdb ghép nối từ vị trí biểu tượng máy chủ. Sử dụng tuỳ chọn /os để lấy đường dẫn đầy đủ biểu tượng trong thông báo kết quả symchk.

Ví dụ, dòng lệnh symchk/v abc.dll/s D:\symbol-path\dll /os trở về sau:
[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
Trong đầu ra, nhận thấy rằng đường dẫn đầy đủ biểu tượng D:\symbol-path\dll\abc.pdb.

Bước 2A

Nếu tệp PE đề cập là mã riêng, sử dụng cvdump Đối với các tập tin phân bổ .pdb cùng với tuỳ chọn -Fin xem tệp nguồn cá nhân và các giá trị băm. Giá trị băm có MD5 hoặc SHA256.

Bước 2B

Nếu tệp PE trong câu hỏi được mã được quản lý, sử dụng pdb2xml Đối với các tập tin .pdb được phân bổ để xem tệp nguồn cá nhân và các giá trị băm. Giá trị băm có SHA1 hoặc SHA256.

Bước 3

Sử dụng srctool Đối với tệp cấp .pdb cùng với tuỳ chọn -n Hiển thị thông tin cá nhân nguồn điều khiển phiên bản đánh mục chỉ dẫn tệp nguồn.

Ví dụ, dòng lệnh srctool - n D:\symbol-path\dll\abc.pdb trở về sau:

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

Bước 4

Sử dụng thông tin Phiên bản kiểm soát nguồn từ bước 3 để lấy các tập tin cá nhân được lập mục chỉ dẫn nguồn. Bạn có thể lưu tệp nguồn truy cập vào một mục tin thư thoại hệ thống tệp cục bộ.

Bước 5

Mỗi đồng gửi cục bộ của tệp lấy nguồn cá nhân được lập mục chỉ dẫn trong bước 4, sử dụng certutil cùng với các động từ - hashfile tạo và hiển thị mã băm trên đồng gửi. Nếu giá trị băm được liên kết với tệp nguồn bước 2A hoặc 2B là MD5, SHA1, SHA256, sử dụng certutil - hashfile <file_name>MD5</file_name>, certutil - hashfile <file_name>SHA1</file_name>hoặc certutil - hashfile <file_name>SHA256</file_name> phù hợp.

Bước 6

Mỗi đồng gửi cục bộ của tệp lấy nguồn cá nhân được lập mục chỉ dẫn trong bước 4, xác minh rằng giá trị băm được tạo ra bởi certutil bước 5 phù hợp với giá trị băm tương ứng được trong bước 2A và 2B. Nếu giá trị băm không phù hợp, chương trình có thể đã đi sai trong quá trình tạo cặp PE/PDB hoặc hệ thống kiểm soát nguồn. Điều này có thể bảo đảm tiếp tục điều tra. Nếu giá trị băm phù hợp với này đặc biệt cho biết tệp lấy nguồn cá nhân được lập mục chỉ dẫn được sử dụng tập hợp các cặp PE/PDB.

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 3195907 - Xem lại Lần cuối: 10/05/2016 23:41:00 - Bản sửa đổi: 1.0

  • kbmt KB3195907 KbMtvi
Phản hồi