系统引导 - DBR引导代码研究

这篇文章说了啥:

    DBR做了啥。

基础背景:

有用搜索引擎的能力

正文:

    贴一大坨代码上来挺没意思的,我自己都不会看。要看代码也去IDA里看得清楚些……还是大概说说它是怎么回事就行了。如果你想看代码,又没本事把代码从硬盘里扣出来(…)或者懒得自己一句一句的看,也许我可以把我的idb文件发给你。

这个DBR写的有点创意,用了两个扇区存放代码。第一个扇区当然是DBR,第二个扇区放在DBR之后的第Ch个扇区。第一扇区将第二个扇区的代码读出来接到自己的后面(…),第二个扇区的代码又多次调用第一个扇区里的代码,所以实际上它们是一体的。整个代码的任务就是先到目录表里搜索NTLDR文件,然后定位其FAT项,确定其占用了那些扇区,最后将这些扇区的代码读到内存2000h:0000处,然后转交控制权。

NTLDR就是Loader了,Loader的任务就是为OS准备环境然后加载OS。不过我现在有点犹豫是去研究它还是自己就开始写自己的Loader……251k呢,光是MBR和DBR总共就1.5K就让我折腾了2天。据说NTLDR又是二合一,而且是COM和PE二合一……

    情况很奇怪的,我这电脑用的是某封装好的系统,上面上装了GRUB的,怎么没见它把控制权转给GRUB呢?莫非NTLDR被动了手脚了?


    不久的将来我会把NTLDR的分析放上来,也许不会...

以上都是个人理解,不保证正确。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值