如何在PyKD中获取模块的原始文件名?

2024-04-23 19:52:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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

有了这些信息,我怎样才能找到更多关于这个模块的信息,类似于WinDbg的lm vm <module>命令?你知道吗

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.

特别是,我想得到“原始文件名”。你知道吗


Tags: 模块nameimage信息versionwindowsexetimestamp
1条回答
网友
1楼 · 发布于 2024-04-23 19:52:06

大部分信息存储在模块的版本资源信息中。您可以使用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)

相关问题 更多 >