您的位置:首页 > 编程语言

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

2011-08-31 17:15 10 查看
这篇文章说了啥:
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的分析放上来,也许不会...


以上都是个人理解,不保证正确。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: