在PyKD我能得到可執行文件的進程名是這樣的:獲取可執行文件的模塊中PyKD
0:017> !py
...
>>> getProcessExeName()
u'C:\\Windows\\SysWOW64\\rundll32.exe'
,我可以用
>>> 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
獲取模塊的信息如何從工藝轉換名稱到模塊名稱?
這不像提取文件名那麼簡單,因爲具有特殊字符如Notepad++.exe
的文件名轉換爲notepad__
作爲模塊名稱。
背景:我想自動執行轉儲分析,首先檢查它是否是我的程序,然後檢查我需要模塊信息的崩潰程序的版本。我想讓它更通用一些,並考慮用戶重命名可執行文件的情況。
版本(如果該事項):PyKD 0.3.0.25,32位,WinDbg的6.2.9200,Python的2.7.8
我不喜歡'dbgCommand()',因爲a)它可能會受到別名的影響,並且b)輸出可能會隨着新版本的WinDbg而改變。第二種方法適用於我,只使用PyKD。那很棒! –
@ThomasWeller是的,我也不滿意。然而,我看到選項#2唯一的缺點就是你需要'ntdll'的符號,所以它需要一個合適的符號路徑。幸運的是,這通常不是問題。 –