|
本帖最后由 不点 于 2013-12-21 11:59 编辑
>>> map (hd0) ()
>>> #将 第一磁盘(hd0) 映射为 ntldr 所在设备(现在的当前设备)
这个解释已经很清楚了。这条命令是 “打算” 把目前的 (hd0) 映射为 ntldr 所在的设备(比如说它是 (hd1))。在 hook 之前,一切都是 “打算”,就是说,还没真的开始起作用。
这条命令与第一条 map () (hd0) 合起来的综合效果,就是 “打算” 交换 (hd0) 与 (hd1) 的盘号【此处假定现在的 ntldr 所在的盘号是 (hd1)】。
执行 map --hook 或 map --rehook 之后,上述两条 map 映射将同时起作用。那么,ntldr 将位于虚拟的磁盘 (hd0) 上,【假定】它是真实的 (hd1)。而真实的 (hd0),则【假定】已经成为了虚拟的 (hd1) 。
注意,由于存在虚拟的盘 (hd0),所以,原来的真实盘 (hd0) 就被掩盖了,或者说是剥夺了。当你通过 bios 访问 (hd0) 时,你实际上是在访问虚拟的盘 (hd0),而不是访问真实的 (hd0)。
同样地,由于存在虚拟的盘 (hd1),所以,原来的真实盘 (hd1) 就被掩盖了,或者说是剥夺了。当你通过 bios 访问 (hd1) 时,你实际上是在访问虚拟的盘 (hd1),而不是访问真实的 (hd1)。
这就是说,有两个虚拟盘同时建立起来了。
一个是虚拟的 (hd0),它 “代表” 的是原来真实的 (hd1),你可以理解为,虚拟的 (hd0) 是真实的 (hd1) 的 “形象代言人”。注意,真实的 (hd1) 躲在幕后,不会公开露面了。
另一个是虚拟的 (hd1),它 “代表” 的是原来真实的 (hd0),你可以理解为,虚拟的 (hd1) 是真实的 (hd0) 的 “形象代言人”。注意,真实的 (hd0) 躲在幕后,不会公开露面了。
两个真实的盘符 (hd0) 和 (hd1) 都是被隐藏、被掩盖,而不会 “公开露面” 了。由他们的 “代言人” 公开露面,成为他们各自的 “传话筒”。
如果还有含糊的话,进一步再举例说明一下。
假定执行
map (hd0) (hd1)
map --hook
此时,建立了一个虚拟盘 (hd1)。此后对虚拟盘 (hd1) 的访问,都是访问幕后的 (hd0)。此时由于不存在 (hd0) 虚拟盘,所以,(hd0) 是真实的,它可以公开露面。就是说,(hd0) 既可以公开露面,也可以通过形象代言人 (hd1) 来说话。真实的 (hd0) 和虚拟的 (hd1),其 “发言” 的内容,都完全相同。由于此时存在着虚拟盘 (hd1),因此,原来那个真实的 (hd1) 就不可访问了,你可以理解为,它被别人强行地 “代表” 了、“剥夺” 了,它自己失去了发言权,甚至它连个代言人也找不到。你也可以理解为,它成了没有 “户口” 的 “黑户”。你还可以理解为,他的 “电话号码” 被别人注册了,打他的电话,找不到他,而找到的是别人,是 (hd0)。你还可以理解为,(hd0) 这个人,他拥有两个电话号码,一个是他原来的电话号码 (hd0),另一个是新注册的电话号码 (hd1)。
假定执行
map (hd1) (hd0)
map --hook
此时,建立了一个虚拟盘 (hd0)。此后对虚拟盘 (hd0) 的访问,都是访问幕后的 (hd1)。此时由于不存在 (hd1) 虚拟盘,所以,(hd1) 是真实的,它可以公开露面。就是说,(hd1) 既可以公开露面,也可以通过形象代言人 (hd0) 来说话。真实的 (hd1) 和虚拟的 (hd0),其 “发言” 的内容,都完全相同。由于此时存在着虚拟盘 (hd0),因此,原来那个真实的 (hd0) 就不可访问了,你可以理解为,它被别人强行地 “代表” 了、“剥夺” 了,它自己失去了发言权,甚至它连个代言人也找不到。你也可以理解为,它成了没有 “户口” 的 “黑户”。你还可以理解为,他的 “电话号码” 被别人注册了,打他的电话,找不到他,而找到的是别人,是 (hd1)。你还可以理解为,(hd1) 这个人,他拥有两个电话号码,一个是他原来的电话号码 (hd1),另一个是新注册的电话号码 (hd0)。
|
|