Как получить оригинальное имя файла модуля в PyKD?
У меня есть модуль в PyKD:
>>> print module("rundll32")
Module: rundll32
Start: 7f0000 End: 7fe000 Size: e000
Image: C:\Windows\SysWOW64\rundll32.exe
Symbols: e:\debug\symbols\rundll32.pdb\EFAE0C870C2846EDB63B9A7274CD50422\rundll32.pdb
Timestamp: 4a5bc637
Check Sum: 11cf2
С этой информацией, как я могу узнать больше о модуле, аналогично lm vm <module>
команда WinDbg?
start end module name
007f0000 007fe000 rundll32 (deferred)
Image path: C:\Windows\SysWOW64\rundll32.exe
Image name: rundll32.exe
Timestamp: Tue Jul 14 01:41:43 2009 (4A5BC637)
CheckSum: 00011CF2
ImageSize: 0000E000
File version: 6.1.7600.16385
Product version: 6.1.7600.16385
File flags: 0 (Mask 3F)
File OS: 40004 NT Win32
File type: 1.0 App
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Microsoft Corporation
ProductName: Microsoft® Windows® Operating System
InternalName: rundll
OriginalFilename: RUNDLL32.EXE
ProductVersion: 6.1.7600.16385
FileVersion: 6.1.7600.16385 (win7_rtm.090713-1255)
FileDescription: Windows host process (Rundll32)
LegalCopyright: © Microsoft Corporation. All rights reserved.
Особенно я хотел бы получить "OriginalFilename".
1 ответ
Решение
Большая часть этой информации хранится в информации о ресурсах версии модуля. Вы можете получить доступ к версии ресурса с помощью queryVersion()
метод. Для указания ресурса требуется строковый параметр, например
>>> m = module("rundll32")
>>> m.queryVersion("LegalCopyright")
'\xa9 Microsoft Corporation. All rights reserved.'
Обратите внимание, что параметр не должен быть номером версии, поэтому имя метода queryVersion()
немного вводит в заблуждение.
Параметры:
CompanyName
InternalName
ProductName
OriginalFilename
ProductVersion
FileVersion
FileDescription
LegalCopyright
Другая информация, представленная в lm vm
:
- Начните:
hex(m.begin())
- Конец:
hex(m.end())
- Название:
m.name()
- Флаги файлов:
m.getFixedFileInfo().FileFlags
- Контрольная сумма:
hex(m.checksum())
- Отметка:
hex(m.timestamp())
- Файловая ОС:
hex(m.getFixedFileInfo().FileOS)
- Тип файла:
hex(m.getFixedFileInfo().FileType)
- Дата файла:
"%08X.%08X" % (m.getFixedFileInfo().FileDateLS , m.getFixedFileInfo().FileDateMS)