西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页业内动态 名词解释 → ntbootdd.sys是什么?NtBootdd.sys是做什么的?

ntbootdd.sys是什么?NtBootdd.sys是做什么的?

相关软件相关文章发表评论 来源:西西教程网时间:2013/12/23 8:35:12字体大小:A-A+

作者:西西点击:8次评论:0次标签: NtBootdd.sys

  • 类型:远程监控大小:4.6M语言:中文 评分:5.7
  • 标签:
立即下载

Windows有三种语法:multi , scsi 和signature。scsi语法则是当磁盘控制器不支持INT 0x13指令时使用的,此时,NTLDR在确定了引导项后,会从根目录加载一个名为NtBootdd.sys的文件,将其绑定到OSLoader上,OSLoader中包含的只读NTFS/FAT32代码会使用该驱动来读写磁盘,实现Windows内核文件(ntoskrnl.exe)、硬件抽象层文件(hal.dll)和BOOT驱动文件的加载。

NtBootdd.sys要完成的工作就是:

1、不导出任何函数,这样就不会影响OSLoader的引入表
2、在初始化函数中完成相关的钩子例程及处理例程,然后返回失败,让系统仍然使用INT 0x13来读写磁盘
3、需要注意的是,我们需要在初始化例程中将ntldr中已读入的boot.ini进行修改,将scsi语法重新改回multi语法,否则在后面的引导过程中ntldr会认为我们使用了错误的引导语法,导致系统无法启动。读入的boot.ini是保存在OSLoader的数据段的一个全局变量中的,我们扫描整个OSLoader镜像,即可找到需要修改的数据。
4、为了劫持内核,Tophet.a进行了这样的工作:因为调用 NtBootdd.sys的初始化例程的函数是AEInitializeIo,那么我们在初始化例程中通过堆栈就可以轻松找到该函数 call DriverEntry的下一条指令位置,然后我们从这条指令向上搜索,就可以准确稳定地找到BlLoadImage函数的地址,OSLoader正是通过这个函数来加载包括Windows内核文件、HAL和boot驱动的模块的,我们挂钩该函数,就可以准确地知道Windows内核文件加载的瞬间,并对其内存镜像进行修改和劫持。

Tophet.a的NtBootdd.sys的DriverEntry函数


    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)