mirror of
https://github.com/ivellioscolin/pykd.git
synced 2025-04-20 19:53:22 +08:00
66 lines
948 B
Python
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()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|