Loading... 1. NT式驱动的程序入口是A A DriverEntry B DriverStrart C Main D DriverMain 2. 一个驱动必须有一个卸载函数,这个函数位于A PDRIVER_OBJECT对象中 (B)字段 A MajorFunction[IRP_MJ_DEVICE_CONTROL] B DriverUnload C MajorFunction[IRP_MJ_CLOSE] D MajorFunction[IRP_MJ_SYSTEM_CONTROL] 3. 编译好的驱动无法像exe直接双击加载,它通过服务加载的,添加驱动的步骤 (A ) ①CreateService() ②StopServer() ③StartService() ④OpenSCManager() ⑤DeleteService() ⑥CloseService() A ④①③ B ①④③⑥⑤ C ④①③②⑥⑤ D ①②③④⑤⑥ 4. windows内核中保存字符串的类型:UNICODE_STRING,由哪几部分组成 A 字符串字节数,字符串最大大小,字符串缓冲区地址 B 字符串字节数,字符串缓冲区地址 C 字符串缓冲区地址 D 字符串总大小,字符串缓冲区地址 5. DriverEntry第二个参数代表 (C) A DriverObject的属性 B 命令行参数 C 驱动在注册表中的驱动配置信息 D 没有实际意义,已经废除 6. windbg分析蓝屏数据命令 (A) A !analyze -v B analyze -a C analyze -s D analyze 7. 下面对于内核编程描述错误的是 (C) A 驱动对象类似于windows应用编程中的程序 B 设备对象类似于windows应用编程中的窗口 C IRQL类似于线程的优先级 D IRP类似windows应用编程中的消息 (MSG) 8. 驱动对象结构有一个字段(A),系统将它与所有的驱动对象链接起来 A DriverSection B DriverExtension C DeviceObject D DriverStart 9. 内核中运行完一个函数,一般会返回一个成功值,下面哪个是执行成功(A) A STATUS_SUCCESS B NT_SUCCESS 宏判断是否成功 C STATUS_TIMEOUT D STATUS_PENDING 10. 内核中也有多线程,对于全局变量访问,没有安全机制将会触发不可预料的问题。微软使用了中断请求级别(IRQL)概念解决问题。以下不属于IRQL的级别的是 (C) A APC_LEVEL B DISPATCH_LEVEL C PASS_LEVEL D PASSIVE_LEVEL 11. 内核中如何初始化一个字符串 A A RTL_CONSTANT_STRING() B RTLINITSTRING() C RTL_INITIALZATION_STRING() D RTL_INIT_STRING() 12. 以下符合符号链接命名规则的是 (D ) A "\\Dos\\15pb" B "\\DosDevice\\hello" C "\\Devices\\15pb.com" D "\\DosDevices\\15pb" 13. 以下不属于微软标准的内核通信通讯方式的是( B) A DO_BUFFERD_IO B DO_INDIRECT_IO C NULL D DO_DIRECT_IO 14. Windows内核提供了3种设备对象读写方式,下面对于这三中描述错误的是( D) A 直接方式:通过irp->MdlAddress获取 B 其他方式: 通过irp->UserBuffer获取 C 缓冲区方式:通过irp->AssociatedIrp.SystemBuffer获取 D 间接方式: 通过irp->Tail.CompletionKey获取 15. 驱动中的请求都是通过IRP与派遣函数完成的,判断IRP的主类型消息的是哪个字段( D) A IrpStack->Context B IrpStack->MinorFunction C IrpStack->Control D IrpStack->MajorFunction 16. Windows内核可以通过控制码方式与用户层进行通信,而这个控制码是有格式,需要使用CTL_CODE(DeviceType,Function,Method,Access)来定义控制码。如果设备对象是以直接方式进行通信的,那么应用层往内核层写入数据时,Method填写正确的是(D ) A METHOD_BUFFERED B NULL C METHOD_NEITHER D METHOD_IN_DIRECT 17. 在内核中每个对象都有一个OBJECT_ATTRIBUTES结构体,对于这个结构体描述错误的是(B ) A 使用结构体创建对象时,需要使用InitializeObjectAttributes()初始化对象 B 它与应用层中的安全描述相同 C 结构体中有一个描述该对象的名字 D 结构体中Length必须填写 18. KiFastCallEntry函数是进入内核的入口,那么调用该函数时,API的调用号被保存到什么地方( C) A 堆栈中 B ebx C eax D ecx 19. Windows XP及之后SSDT,IDT表的内存页属性都被设置位只读,以下无法突破这种保护的是(A ) A 使用VirtualProtectEx修改内存属性 B 使用MDL函数重新映射这段内存 C 在注册表中关闭写和执行保护 D 修改CR0寄存器的WP位进行关闭内存保护 20. SYSENTER指令执行时,使用msr寄存器第(A )号,保存内核EIP A 0x176 B 0x177 C 0x174 D 0x175 最后修改:2021 年 02 月 06 日 © 允许规范转载 赞 0 如果觉得我的文章对你有用,请随意赞赏
1 条评论
加油!2021 一切美好都在路上!