; DbgPrint("rawpointer 0x%x",rawpointer); DbgPrint("rawsize 0x%x",rawsize); limIT=rawpointer+rawsize; if(rawpointer= limIT) { ExFreePool(buf); ZwClose(Handle); return; } } scsi=*(DWORD *)((ULONG)buf + rawpointer + 17) -0x10000;//IRP_MJ_SCSI devctrl=*(DWORD *)((ULONG)buf + rawpointer+ 24) -0x10000;//IRP_MJ_DEVICE_CONTROL power=*(DWORD *)((ULONG)buf + rawpointer + 34) -0x10000;//IRP_MJ_POWER pnp=*(DWORD *)((ULONG)buf + rawpointer + 44) -0x10000;//IRP_MJ_PNP sysctrl=*(DWORD *)((ULONG)buf + rawpointer + 54) -0x10000;//IRP_MJ_SYSTEM_CONTROL base=GetModuleBase("atapi.sys"); scsi+=base; devctrl+=base; power+=base; pnp+=base; sysctrl+=base; DbgPrint("scsi-0x%x devctrl-0x%x power-0x%x sysctrl-0x%x pnp-0x%x",scsi,devctrl,power,sysctrl,pnp);
} } ExFreePool(buf); ZwClose(Handle); }
_declspec(naked) ULONG MyDbgPrint( ){ _asm{ push eax mov eax,[esp+4] cmp dword ptr [eax], 3E86859h &nb 上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>
|