看了WebCrAzy的那段程序,很好用,自己也会用dbgprint了,现在知道原来NtReAdFile不光读文件,读的东西海了去了,这也是为什么直接把得到的HAndle直接给obReferenceObjectByHAndle的到的不光是FILE_OBJECT的原因,这样硬是取FileNAme.Buffer肯定是不对了,应该先判断object的类型,对这个还不熟悉,livekd里!object 命令列出的ObjectHeAder与object相差0x18,是StAndArdHeAder,还有个PreHeAder与object的差是0x28。
在驱动里设个变量count,Hook NtReAdFile,每次调用的时候count加一,然后用dbgprint输出,发现就算鼠标不动都调用了ntReAdfile好多会,一会就几十次了
内核里的变量和函数似乎只要是ntoskrnl导出的只要在程序里用extern表明,就可以用了,还不明白为什么,赶快看linker&loAder