bir dump faylini qaysi OS belgilarini ko'chirib olishni qanday qilib belgilash

Agar dump faylini tahlil qilsam, Microsoft belgisi serveriga ishora qilish uchun ramz yo'lini o'rnataman. Yomg'ir dumini faylining qanday operatsion tizim ostida yaratilganligini va u OS uchun to'g'ri belgilarni qanday qilib yuklab olishini qanday biladi?

0

1 javoblar

To match symbols to binary, WinDbg looks at the thing called Debug Directories. Debug Directories are sections in PE modules (which is a file format used by Windows for all types of executables). Debug Directories simply contain links to types of debug information. If you type command in cmd window link /dump /headers , it will print out something like this:

...
Debug Directories

    Time Type       Size      RVA  Pointer
-------- ------ -------- -------- --------
4CC78FB1 cv           22 00102588   101988    Format: RSDS, {30976E0B-FBF7-45EF-8608-99932F2B791F}, 2, ntdll.pdb
4CC78FB1 (   A)        4 00102584   101984    BB03197E

...

Ushbu ntdll.dll uchun chiqdi. Siz CV (CodeView uchun) disk raskadrovka ma'lumoti ntdll.pdb ichida joylashganligini va u PDBning GUID-ga bog'langan sahifaga mos kelishini ko'rishingiz mumkin. Ushbu GUID qurilgan vaqtda har bir modul uchun tasodifiy hosil qilingan.

WinDbg da buyruq ! Lmi ham ushbu ma'lumotni turli formatda tashlaydi.

Belgilarni ramziy serverdan yuklaganida nima qilsa, u WinDbg "ramkalar serveriga" ntdll.pdb nomli faylni olish uchun so'rov yuboradi.

2
qo'shib qo'ydi
Har bir PE moduli o'z ramziy faylga ega. "OS uchun ramzlar" kabi narsa yo'q, chunki operatsion tizim turli xil xizmat paketlardan, yamalardan, tuzatishlaridan, xususiy ikkiliklardan va boshqalardan iborat versiyalardan tashkil topgan.
qo'shib qo'ydi muallif seva titov, manba
Shunga qaramay, "OS belgisi" mavjud emas, ba'zi PE modullari uchun ramzlar mavjud. Damperda hozirda protsessor manzil maydoni bilan bog'langan modullar ro'yxati mavjud. Kernel32.dll ning turli xil versiyalari mavjud - har xil operatsion tizimlardagi protsessorlarning arxitekturalari uchun, turli versiyalar turli xil operatsion tizimi yamalaridan iborat. Nosozliklarni bartaraf etishda kernel32.dll uchun ramzlarni echish kerak bo'lsa, modul ma'lumotlar tuzilmasini ko'rib chiqadi, uni dastlabki vaqt modulida yuklagan foydalanuvchi tomonidan yaratilgan. Ushbu ma'lumot PE tasvirining ba'zi bo'limlari, jumladan, Debug Directory.
qo'shib qo'ydi muallif seva titov, manba
Ushbu ma'lumot yig'ilishlarda joylashtirilgan PE modullarining bir qismimi? Ilovani yaratganimda turli xil xizmat paketlari bilan turli xil operatsion tizimlarda ishlashim mumkin. Men PE modulida saqlangan ushbu ma'lumotni turli xil operatsion tizimlarda ishlayotgan paytda foydalanish mumkinligi haqida shubhalanaman.
qo'shib qo'ydi muallif Silverlight Student, manba
Aytaylikki, dasturni yig'ish Vista'da tuzilgan. Buning uchun Windows 7 va Windows Server 2008 uchun yana bir dump hosil qilaman. Bu holda PE modulida Vista uchun Id mavjud bo'ladi, to'g'rimi? Qanday qilib ikkita dump Windows 7 va 2008 uchun ramzlarni oladi?
qo'shib qo'ydi muallif Silverlight Student, manba