如何确定给定的exe或dll或sys文件是否实际上是驱动程序? 我的意思是什么区别驱动程序与普通可执行文件?
答案 0 :(得分:2)
驱动程序的映像始终标记为IMAGE_SUBSYSTEM_NATIVE(IMAGE_OPTIONAL_HEADER.Subsystem - See the Microsoft Portable Executable specification),而应用程序的映像通常标记为IMAGE_SUBSYSTEM_WINDOWS_GUI或IMAGE_SUBSYSTEM_WINDOWS_CUI。
答案 1 :(得分:0)
正常的可执行文件在用户模式下运行,而驱动程序在内核模式下运行。 普通可执行文件通常与桌面交互,而驱动程序无法与桌面交互(没有用户界面)。 普通的可执行文件与Windows API交互,而驱动程序无法与Windows API交互。
答案 2 :(得分:0)
@mox - 这是正确的,但它意味着深入研究调试器/十六进制编辑器/其他PE头读取工具。相反,您可以始终查看文件的依赖项(使用Dependency Walker),如果文件依赖于NTOSKRNL.EXE,则很可能是驱动程序。