-
-
[翻译]基于堆栈的文件对象
-
发表于:
2021-5-16 20:54
7157
-
一些名词的意思老是忘,干脆记个笔记。
本人英语水平一般,有错误欢迎指出
起源是这段代码,第一次看的时候,什么鬼,文件和堆栈有什么关系
我想知道,什么是基于堆栈的文件对象?
它就是这么说的。它回到了一个不同的时代(当时NT应该在64Mb内存中启动吗?)并且计算了周期。
不管怎样,它们应该在Vista中被删除(但没有),但从那以后我就没见过。
我的建议是添加代码——以防万一,当下一代人认为这是一种巫术时,
这类东西就会悄然而回。在调试器中强制执行该路径一次。
当然,除非你手边有一台XP机器。
来源:https://community.osr.com/discussion/comment/280951#Comment_280951
ennnnnnn
解释看起来天方夜谭,大概的意思就是一个不支持的东西。
无脑跳过就行了。
我又搜了搜,看到一个
如果调用位于堆栈上的FO(系统/内部FO), GetFileNameInformation可能崩溃。
也就是这个不跳过这个基于堆栈的文件对象,
可能会在调用GetFileNameInformation时崩溃
来源:https://community.osr.com/discussion/comment/107126#Comment_107126
IoGetStackLimits( &stackLow, &stackHigh );
if
(((ULONG_PTR)FileObject > stackLow) &&
((ULONG_PTR)FileObject < stackHigh)) {
return
FLT_PREOP_SUCCESS_NO_CALLBACK;
}
IoGetStackLimits( &stackLow, &stackHigh );
if
(((ULONG_PTR)FileObject > stackLow) &&
((ULONG_PTR)FileObject < stackHigh)) {
return
FLT_PREOP_SUCCESS_NO_CALLBACK;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课