NtSetSystemInformation的0x68号命令 SystemProcessorMicrocodeUpdateInformation

此调用可以Load或Unload 处理器Microcode的更新驱动程序,当调用此命令时,会执行:

_ExpSetProcessorMicrocodeUpdateInformation->_ExpMicrocodeInformationLoad或_ExpMicrocodeInformationUnload

接着系统检查当前进程拥有LOAD DRIVER权限后,即会使用一个WorkItem来调用_ExpLoadMicrocodeImage

会加载SystemRoot\System32\mcupdate.dll(实际是个驱动)

接着会调用xHalLoadMicroCode(参数为驱动基址)完毕后调用xHalUnloadMicroCode,接着会卸载这个IMAGE

在我逆向的版本(NtBuildNumber = 7000)下xHalLoadMicroCode和xHalUnloadMicroCode

都仅有一行代码:

return STATUS_NOT_IMPLEMENTED;

所以至少7000下这个方法仅能加载驱动,不能执行代码

不过可能以后微软实现这两个函数,可以做一些猥琐的事~