pykd/lib/pykdlib/modules.py
2011-03-22 07:50:42 +00:00

66 lines
948 B
Python

#
# Modules Info
#
import pykd
moduleList = []
def kernelReloadModules():
global nt
global moduleList
nt = pykd.loadModule("nt")
modules = pykd.typedVarList( nt.PsLoadedModuleList, "nt", "_LDR_DATA_TABLE_ENTRY", "InLoadOrderLinks" )
moduleList = []
moduleList.append( nt )
for m in modules:
baseName = str( pykd.loadUnicodeString( m.BaseDllName.getAddress() ) )
if baseName=="ntoskrnl.exe":
continue
module = pykd.findModule( m.DllBase )
globals()[ module.name().lower() ] = module
moduleList.append( module )
def userReloadModules():
pass
def printModuleList():
pykd.dprintln( "\n".join( [ str(m) for m in moduleList ] ) )
if pykd.isKernelDebugging():
kernelReloadModules()
else:
userReloadModules()