I'm trying to reverse-enginering a Win7 32bit legacy driver.
If I break when the system is loaded I can see that the driver is loaded because the corresponding DRIVER_OBJECT is created (!drvobj name
show a real object).
But I can't see the driver name in the module list with lm
command. Is there an explanation for this?
Because of this I am also unable to break when this module is loaded with sxe ld name
but I think that the driver is loaded just after the loading of umbus (because at this time the corresponding DRIVER_OBJECT is created).
Searching on internet I found that this is the "User mode bus enumerator" but I don't understand because it is a kernel mode driver (.sys file).
.reload
when the driver is loaded allow me to show MJ function in terms ofmodule name+offset
.lm
also show the module. But I'm still unable to set a bp on driver entry.ln addr of DriverEntry
doesn't show anything. I tried alsobu module_name+offset of EntryPoint
with no luck. I think the problem is windbg does not know what "module name" is before I do.reload
and so is unable to break on EntryPoint. Any clues?lm
. I'll read the answers but I usually break at system startup (with driver NOT loaded), then put a breakpoint withsxe ld name.sys
but then nothing happens.