原帖由 <i>天风</i> 于 2007-3-25 01:54 PM 发表 <a href="http://bbs.wuyou.net/redirect.php?goto=findpost&pid=1009433&ptid=101810" target="_blank"><img src="http://bbs.wuyou.net/images/common/back.gif" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor='hand'; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}" onclick="if(!this.resized) {return true;} else {window.open('http://bbs.wuyou.net/images/common/back.gif');}" onmousewheel="return imgzoom(this);" alt="" /></a><br />
--------------------------------------------------------------------------------
Hidden Protected Area 即被隐藏的保护空间,简称HPA。现在的一键恢复、系统保护之类的软件,很多都利用到了HPA空间,该空间是通过设立磁盘最大可以访问空间小于磁盘实际空间来得到一块可以利用,而一般文件系统无法看到的空间。
一、具体步骤如下
0)通过IDENTIFY DEVICE得到82word或者85word的第10bit是否被设置为1来确定磁盘是否支持HPA
1)通过READ NATIVE MAX ADDRESS得到磁盘的实际空间
2)通过SET MAX ADDRESS设定用户可以访问的磁盘空间
3)第一步的值减去第二步的值的差就是我们可以利用HPA空间
二、利用方法
0)通过IDENTIFY DEVICE得到磁盘当前被设立的用户可以访问的空间
1)通过READ NATIVE MAX ADDRESS 得到磁盘的实际空间
2)通过SET MAX ADDRESS设定用户可以访问的空间等于第一步的结果
3)在HPA空间读写数据
4)通过SET MAX ADDRESS重新设定用户可以访问的空间等于第零步的结果