帅哥 发表于 2003-3-3 22:18

PWD IBM硬盘密码的破解讨论。(未解决、有待继续研究)

关键字:

IBM、硬盘、密码、保护、解密、破解

[讨论]硬盘密码的破解,请HOPE等大侠一起来研究一下。

众所周知,IBM本本设定了硬盘密码后,如果忘记了密码,那么既无法在本机打开,也无法在其他本本上打开,接到台式机上也不能打开,而且不能以其他方式启动(软、光驱等)再处理。

那么这个硬盘只能报废?(之前论坛上大家一致认为的结果。)

其实这个硬盘没有坏啊。报废了多可惜啊。不考虑硬盘里的数据问题的话,我想是不是可以把这个硬盘救回来用。

方法一:IBM这种加锁方式和KV很象。如果IBM是采用和KV一样的逻辑锁技术的话,是否可以用江民的恢复盘来进行恢复?答案是不行。IBM没那么笨。

方法二:从DOS5.0开始,OS在进行任何方式引导之前,如果BIOS报告有硬盘信息,那么OS要先从硬盘主引导区读取硬盘的相关基本参数然后再进行引导,这里有一个漏洞。修改物理主引导区使得读引导区时陷入死循环,这样开机硬盘灯常亮,无法以任何方式正常启动。十年前的一个非常小的工具软件PWMBR(现在可能还下载得到)就是以这种方式加密。加密后现象和IBM硬盘加密后一致,我想,IBM是否采用这种技术?如果是,解决办法很简单也很方便。本人是DOS编程狂热分子,在十年前就对此加密方式很有研究,也实际处理过不少类似这种问题的硬盘。找一张DOS5.0以前的启动盘(DOS3.0或者DOS3.3)就可以挂硬盘启动了,然后用DEBUG、PCTOOLS、FDISK或者其他工具恢复正常的MBR及分区表信息(处理得好,可能数据还不会丢失)。

方法三:实在不行的话,把硬盘低格总可以了吧?大家可能会问,都启动不了了,怎么用DM进行低格呢?其实低格并不是只有DM等软件才能做。最简单的办法就是把硬盘用转接线接到台式机上,找一块早期的Pentium主板,进BIOS,用BIOS内带的低格功能进行低格。不用觉得奇怪,几年前的老主板上,很多BIOS都带低格功能的。不过用这种方式恢复的话,只能救回硬盘,数据是绝对找不回来了。

以上方法请HOPE等有条件的大侠试一下。本人从商,现在没有很多时间玩这些技术。如果以上方法都不行,那么看来IBM真的在硬盘上的某个特殊“加密区”做了某种处理?以我粗浅的经验看来(我从1989年开始学的编程,主修方向是汇编和计算机硬件底层编程),标准硬盘上并不存在这个特殊的区域(至少我没有碰到过),IBM也只是在硬盘的物理引导区动了手脚。最后的方法三应该可以恢复这个硬盘。再说了,IBM不太可能往硬盘电路板上的芯片里写加密信息吧?(也有这种可能喔,不过其他品牌的硬盘IBM就没办法了)

如果再不行的话,那就要用特殊的硬件设备,软件工具,以及更深的技术来处理了。:)

再有一种可能,IBM在对硬盘物理引导区加密的同时,读取出硬盘序列号,与密码进行运算后存入了本本上的某个芯片中,每次开机识别到这个硬盘就认定硬盘有密码(这个很容易做到也很有可能),那么用上面的方法三恢复好的硬盘也没有办法在这台本本上使用了。不过这个硬盘应该可以在其他本本上使用。

欢迎大家一起讨论及动手试一试,有这种“报废”硬盘的朋友更要试一下。

期待大家的试验结果与看法

如果用以上方法可以破解IBM的硬盘加密,那IBM或是蓝快会不会派人来把我灭口
怕怕。:)

[ Last edited by 折腾 on 2004-1-5 at 18:41 ]

lazycat 发表于 2003-3-3 22:28

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

分析的很透彻。 我也这么想,我想可能的二种的可能性比较大。

或者是第二和硬盘序列号加密共同进行。

折腾 发表于 2003-3-3 22:29

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

嗯,过两天做实验去,不过你能不能提供Dos3.3?哈哈。

lazycat 发表于 2003-3-3 22:30

回复: 回复: [原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

highsun wrote:
建议好好看看版面文章

如果这么容易就能搞定IBM HD 加密

IBM早就倒闭到不知什么地方了。

这种话只能是不懂技术的人才能说的出,你好好的研究下,磁盘引导区的结构原理,和以前DOS时代的加密原理你就知道了 这些就是这么简单。

用汇编写一个访问硬盘时需要密码正确就进入错误就退出的程序,只需要10行。

这个你问楼主就可以知道了。

帅哥 发表于 2003-3-3 22:33

回复: 回复: 回复: [原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

lazycat wrote:
highsun wrote:
建议好好看看版面文章

如果这么容易就能搞定IBM HD 加密

IBM早就倒闭到不知什么地方了。

这种话只能是不懂技术的人才能说的出,你好好的研究下,磁盘引导区的结构原理,和以前DOS时代的加密原理你就知道了 这些就是这么简单。

用汇编写一个访问硬盘时需要密码正确就进入错误就退出的程序,只需要10行。

这个你问楼主就可以知道了。

哈哈哈哈 知音知音。。。。。。我可能只要8行就可以了。。。。

。。。。或者是改几个机器码就可以做到了。。。

hsz76 发表于 2003-3-3 22:35

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

根本没戏啦

这个是作在硬盘得firmware里的,除非换硬盘上的芯片,否则硬盘根本不响应你的命令。

破解倒可能有一个方法,就是穷举法,自己编程去算,不过我没有试过,呵呵,因为硬盘接口比较慢,估计时间会很久。

HOPE 发表于 2003-3-3 22:46

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

1、DOS3.3不支持现在的大硬盘,连FAT32更支持,就算引导了,根本看不到里面的资料
2、肯定不是加密MBR,否则一个F11或Fdisk/MBR就会破坏了,不会这么简单的
3、硬盘都认了,就谈不上低格了
4、用UltraBay2000热插拨硬盘,只能找到硬件,但读不到分区(的数据)。

lazycat 发表于 2003-3-3 22:52

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

hsz76 wrote:
根本没戏啦

这个是作在硬盘得firmware里的,除非换硬盘上的芯片,否则硬盘根本不响应你的命令。

破解倒可能有一个方法,就是穷举法,自己编程去算,不过我没有试过,呵呵,因为硬盘接口比较慢,估计时间会很久。

那就换芯片,笔记本坏的硬盘很多,20-30一个, 找个修硬盘的换个芯片就好了。:))))

帅哥 发表于 2003-3-3 22:53

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

hsz76 wrote:
根本没戏啦

这个是作在硬盘得firmware里的,除非换硬盘上的芯片,否则硬盘根本不响应你的命令。

破解倒可能有一个方法,就是穷举法,自己编程去算,不过我没有试过,呵呵,因为硬盘接口比较慢,估计时间会很久。

喔。看来这位老兄是IBM内部的人,说得如此肯定。

如果真是写在芯片上的,我想知道那其他品牌的笔记本硬盘上的芯片是否也一样为IBM本本留着这个写加密信息的位置呢?如果这个位置有一个通用的标准的话,那应该很容易找到公版的破解方式。不过在我之前好象没有人说过可以破IBM的硬盘密码。

退一步说,万一IBM真是把加密信息写在芯片上的,只要有合适的接入设备给我(或者我自己做一个),花一定时间应该是可以破解的。这个芯片一定是E2PROM之类的,IBM可以写入,我就可以改回来。

我不是IBM或是蓝快的人,我也不完全了解IBM的加密方式,只是想提供几个简单好操作的方法给网友参考,如果大家都有单片机调试设备,都可以自己在家里刷硬盘的FIRMWARE,那IBM即使往芯片里加密又有什么用?也不用什么穷举法了,直接找一个标准FIRMWARE刷回去不就OK了?

hsz76 发表于 2003-3-3 22:57

回复: 回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

lazycat wrote:
hsz76 wrote:
根本没戏啦

这个是作在硬盘得firmware里的,除非换硬盘上的芯片,否则硬盘根本不响应你的命令。

破解倒可能有一个方法,就是穷举法,自己编程去算,不过我没有试过,呵呵,因为硬盘接口比较慢,估计时间会很久。

那就换芯片,笔记本坏的硬盘很多,20-30一个, 找个修硬盘的换个芯片就好了。:))))

呵呵,首先得硬盘型号一致,其次你也得知道换什么片子,最后一个,IBM在硬盘里面做没做过别的手脚也不知道,没准非半天劲换上了也不能用呢

折腾 发表于 2003-3-3 23:00

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

楼主,你说的这些思路我们也都考虑过,也作了很多试验,包括换电路板、低格、热插拔,如果有兴趣的话,我们可以一起研究研究咯。

freesong 发表于 2003-3-3 23:07

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

直接用DEBUG调有13中断不行吗?如果不需要保护数据,对付个硬盘还不是有许多办法。

帅哥 发表于 2003-3-3 23:14

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

HOPE wrote:
1、DOS3.3不支持现在的大硬盘,连FAT32更支持,就算引导了,根本看不到里面的资料
2、肯定不是加密MBR,否则一个F11或Fdisk/MBR就会破坏了,不会这么简单的
3、硬盘都认了,就谈不上低格了
4、用UltraBay2000热插拨硬盘,只能找到硬件,但读不到分区(的数据)。

讨论讨论:

1、如果(我是说如果)用DOS3.3能够挂上硬盘启动的话,当然看不到FAT32的资料,只有用工具修复正确的引导参数后用高版本OS启动才能看到;

2、FDISK/MBR只是写回部分主引导记录。一个高手修改过的主引导记录是不会那么容易被FDISK一条命令搞定的。(我是说IBM的高手)。F11的机制我就不是太懂了。SORRY SORRY

3、我在几年前曾经有试过一块主板的BIOS在认不出主硬盘的情况下做了一遍低格,结果把硬盘修好了给客户。还有好几次是硬盘参数认错的情况下做完低格修好硬盘的。某些主板的低格程序不完全依赖硬盘参数,我也不知道是为什么,所以以前在公司里就有一块“好用”的烂pentium主板是专门用来做低格的(不好意思我以前是开电脑公司的,从手上过的主板和硬盘不计其数,有的时候为了省钱就这样做的硬盘保修。是不是也算一个JS)

4、我对Ultrabay没有研究,就不知道是怎么一回事。

5、想听听大家其他的意见

帅哥 发表于 2003-3-3 23:16

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

freesong wrote:
直接用DEBUG调有13中断不行吗?如果不需要保护数据,对付个硬盘还不是有许多办法。

不对。没有那么简单。DEBUG完全依赖BIOS和DOS,如果BIOS和DOS启动的时候挂不上硬盘,DEBUG也是没有办法的。

hsz76 发表于 2003-3-3 23:18

回复: 回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

帅哥 wrote:
hsz76 wrote:
根本没戏啦

这个是作在硬盘得firmware里的,除非换硬盘上的芯片,否则硬盘根本不响应你的命令。

破解倒可能有一个方法,就是穷举法,自己编程去算,不过我没有试过,呵呵,因为硬盘接口比较慢,估计时间会很久。

喔。看来这位老兄是IBM内部的人,说得如此肯定。

如果真是写在芯片上的,我想知道那其他品牌的笔记本硬盘上的芯片是否也一样为IBM本本留着这个写加密信息的位置呢?如果这个位置有一个通用的标准的话,那应该很容易找到公版的破解方式。不过在我之前好象没有人说过可以破IBM的硬盘密码。

退一步说,万一IBM真是把加密信息写在芯片上的,只要有合适的接入设备给我(或者我自己做一个),花一定时间应该是可以破解的。这个芯片一定是E2PROM之类的,IBM可以写入,我就可以改回来。

我不是IBM或是蓝快的人,我也不完全了解IBM的加密方式,只是想提供几个简单好操作的方法给网友参考,如果大家都有单片机调试设备,都可以自己在家里刷硬盘的FIRMWARE,那IBM即使往芯片里加密又有什么用?也不用什么穷举法了,直接找一个标准FIRMWARE刷回去不就OK了?

呵呵,我不是IBM内部的人,不过IDE的驱动我倒是做过几年

这个是ATA规范里面定的,从ATA-3开始,硬盘多了一个安全性得特殊功能

凡是设置此功能以后,如果硬盘加电后没有设置正确的密码,所有的ATA命令将不会得到正确的响应。

IBM的硬盘一向是对规范支持最好的,不过好像seagate, maxtor也有这个功能,只是没有BIOS去打开而已。

规范是这么定,硬盘厂家自己怎么实现就不一定了,最好的做法应该是生成一个KEY,然后进行数据加密,如果IBM是这么做的,那么硬盘解密基本是没戏了:)

不过这样成本比较高,估计按照IDE的价格,没有几家会这么做,所以我才认为用穷举的方法可以解开这个密码,不过成本估计会很高,因为密码解开之前,只能用PIO,每设置一次密码要写512bytes,读512bytes,PIO0一个cycle是600ns,这样的话按可显示的字符有62个(0-9,A-Z,a-z),密码长度为6的话,要算出密码的最坏可能是200多天,你愿意去算不?

帅哥 发表于 2003-3-3 23:29

回复: 回复: 回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一

hsz76 wrote:

呵呵,我不是IBM内部的人,不过IDE的驱动我倒是做过几年

这个是ATA规范里面定的,从ATA-3开始,硬盘多了一个安全性得特殊功能

凡是设置此功能以后,如果硬盘加电后没有设置正确的密码,所有的ATA命令将不会得到正确的响应。

IBM的硬盘一向是对规范支持最好的,不过好像seagate, maxtor也有这个功能,只是没有BIOS去打开而已。

规范是这么定,硬盘厂家自己怎么实现就不一定了,最好的做法应该是生成一个KEY,然后进行数据加密,如果IBM是这么做的,那么硬盘解密基本是没戏了:)

不过这样成本比较高,估计按照IDE的价格,没有几家会这么做,所以我才认为用穷举的方法可以解开这个密码,不过成本估计会很高,因为密码解开之前,只能用PIO,每设置一次密码要写512bytes,读512bytes,PIO0一个cycle是600ns,这样的话按可显示的字符有62个(0-9,A-Z,a-z),密码长度为6的话,要算出密码的最坏可能是200多天,你愿意去算不?

这才是专业级的高手啊。所以说隔行如隔山啊。还没有隔行就隔了好大一座山了。。。那这么说是没戏了?重刷芯片FIRMWARE可以救回吗?这样看来好象换同型号电路板是有效的

可以运用黑客密码字典来算,应该会快很多。几乎没有人会把密码设成象这样子:uA7j0pA大多密码都是一个单词或一串数字。

另外HOPE是不是可以试一下用其他牌子的硬盘是不是情况也是一样的

折腾 发表于 2003-3-4 00:48

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

本来刚才看完帖子准备去睡觉的,结果刚上床,想想不太甘心,又爬起来做了点试验,越做越觉得纳闷,现在把实验过程写出来,大家一起琢磨琢磨吧。

折腾 发表于 2003-3-4 01:57

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

设备:
1、T22本本一台,在BIOS里面可以设置硬盘User、User and Master密码,在我实验过程中,我暂时只设置了User密码。
2、T22本本里面,主硬盘为一个30G的,这块硬盘上装了一个XP Pro操作系统。
3、IBM DJSA-210硬盘两块,出厂日期日期为同一天、型号相同、硬盘序列号基本相近、Firmware相同、PCB板批号相同,可以认为这两块硬盘在物理/软件上没有差异,两块硬盘都分了同样大小的分区(一个主分区,占用所有可用空间,分区格式NTFS。)
4、UltraBay2000 第二块硬盘盒一个。

初始状态:两块试验硬盘都没有设置密码。里面都有一些文件,文件完好,都可以正常打开,两块硬盘的文件数量及内容都不相同。

实验前,先将两块硬盘互换PCB板,分别用UltraBay2000 第二块硬盘盒插入机器,都可以正常使用及访问硬盘上的文件。因此,我们可以认为,两块硬盘的特性基本相同,在正常状态下可以互换PCB板。为了说明方便,我们将正常状态下的两块硬盘的盘体和PCB板分别称为A盘、A板、B盘、B板。

也就是说,A盘+A板、A盘+B板、B盘+B板、B盘+A板都可以正常工作,这时候,打开开始-程序-附件-系统工具-系统信息-组件-存储-磁盘,查看到的任意组合下的磁盘信息均一致,详情如下:
磁盘大小:10,051,292,160字节;柱面:1222;扇区:19,631,430;磁道数:311,610;磁道/柱面:255;分区大小:10,051,259,904;分区偏移:32,256

下面开始试验:
1、A盘+A板:进入BIOS,设置User密码(以下均为对User密码进行操作),密码设置为1234567。B盘+B板:保持初始状态。
这时候,如果将A盘+A板插入机器,开机时候提示输入密码,如果进入操作系统以后,通过UltraBay2000插入设置密码的硬盘,则无法识别硬盘上的所有文件格式。

2、A盘+B板,开机前插入,提示输入硬盘密码,正确,进入系统,可正常访问上面的所有文件。
B盘+A板,开机前插入,不提示密码,可进入系统正常访问文件。

3、只挂上主硬盘,空着UltraBay2000插槽,开机,不提示密码,进入系统。插入A盘+B板,系统设备管理器中正确识别到硬盘,但磁盘管理器中无法访问硬盘,“我的电脑”中不显示该硬盘上的分区。打开系统信息-组件-存储-磁盘,经过一段时间的检测,不显示任何磁盘信息,窗口空白,连系统主硬盘的信息也不显示。(我将这个现象标注为*甲*)
同样步骤,插入B盘+A板,一切正常,系统信息中的磁盘信息和原来的一致。

4、关机,插入A盘+B板,开机,提示密码,输入密码,进入系统,磁盘管理器、我的电脑、访问文件、一切正常。打开系统信息-组件-存储-磁盘,这时候显示出来的磁盘参数发生变化:(括号中的参数是试验前的参数)

[$nbsp][$nbsp][$nbsp]磁盘大小:10,056,130,560字节;柱面:1299;扇区:19,640,880;磁道数:311,760;磁道/柱面:240;分区大小:10,051,259,904字节;分区偏移:32,256(我将这个现象标记为*乙*)
(磁盘大小:10,051,292,160字节;柱面:1222;扇区:19,631,430;磁道数:311,610;磁道/柱面:255;分区大小:10,051,259,904字节;分区偏移:32,256)

〈在这里,我认为也许在设置密码的时候,BIOS改写了硬盘的容量参数,导致在别的系统上无法正确识别到硬盘参数,以至于不能正确访问硬盘。〉

5、开机状态下,拔出A盘+B板,插入B盘+A板,完全正常,系统信息中检测到的硬盘数据与实验前完全一致。

6、开机状态下,把出B盘+A板,插入A盘+B板,无法访问,现象同*甲*。

〈下面我想测试一下参数差异是随机产生的还是有规律的〉

7、关机,拔出A盘+B板,插入B盘+A板,开机,进入BIOS,设置硬盘密码为1234567,保存设置,重起,进入系统,查看系统信息中的磁盘参数,显示出的磁盘信息同现象*乙*。

〈在这一步我认为,设置密码前后的容量参数差异应该是有规律的,并非随机产生,隐约中觉得事情应该不会那么简单,因为如果IBM是通过改变磁盘参数来达到限制其他系统访问密码硬盘的目的,那应该会通过随机产生一个偏差值来实现,那么有没有可能这个偏差值是通过用户设置的密码来生成的呢?于是我做了下面的实验。〉

8、关机,依旧使用B盘+A板,进入BIOS,将密码从1234567更改为2345678。保存设置,进入系统,查看系统信息,发现这时候磁盘信息还是和现象*乙*相同。

〈排除偏差值是由密码生成的可能性了〉

9、关机,B盘+A板,进入BIOS,取消硬盘密码,进入操作系统,顺便进系统信息看看,惊讶的发现,现在的磁盘参数还是和现象*乙*一样!难道BIOS就不将参数改回来了么?但是这个时候,如果我把硬盘挂到非IBM的系统上,是完全能够正常访问硬盘的,这个实验我早就作过了。

10、关机,换上A盘+B板,进入BIOS,取消密码,断电,重新进入系统,硬盘参数还是和现象*乙*一致。顺便进磁盘管理器看看,发现磁盘管理器里面没有识别到那多出来的将近5M的空间,疑问:多出来的这将近5M字节的空间到哪里去了呢?

11、到此我觉得没有必要再做下去了。

以上是我失败的试验,希望大家分析一下。

折腾 发表于 2003-3-4 01:58

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

小佳 wrote:
告诉你如何做吧,更换硬盘的主板就行了,电脑城大吧,,费用70块。

仔细看看我的实验过程。实验过程明确推翻了你的观点。

song_1118 发表于 2003-3-4 15:21

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

我不认为折腾的实验失败,起码为我们探索了几种结果:
      第一:IBM的硬盘加密数据肯定不是存放到PCB板上面;
      第二:IBM的硬盘加密之后硬盘的容量参数会改变,同时这个改变之后的参数并不是随机的,是固定的,同时与设定的密码完全无关;
      第三:IBM的硬盘加密之后硬盘的容量参数表现为增大5M(也许不同的硬盘会有不同的表现);

      同时我也说一下我的想法和经历:
在这里我曾有说了一些有关IBM的硬盘加密的推断:
http://www.ibmnb.com/cgi-bin/threaded_show.cgi?tid=14903&pid=101865
原文如下:
      估计是跟IBM ThinkPad可以设定硬盘的密码的功能有关。
      就是说只要装到ThinkPad上的硬盘,哪怕不设定硬盘密码,ThinkPad也会在硬盘上面某个地方留下记录,这个记录应该是ThinkPad根据每块硬盘的不同参数生成的。在启动硬盘密码功能时ThinkPad就根据这个记录加上某种随机密匙来生成最终的加密数据。
      根据以上的推断,所以就算在不启动硬盘密码功能,对已经装到过ThinkPad的硬盘用Ghost进行复制到另一块硬盘之后,那个在原盘上的ThinkPad根据每块硬盘的不同参数生成的记录也被Ghost一并复制到新硬盘上-------------在非ThinkPad的机器上看起来一切正常,但是当这块新硬盘装到ThinkPad上时,ThinkPad会进行检查硬盘记录---------哪怕你没有启动硬盘密码功能----------这时ThinkPad会发现硬盘上面已有记录(就是Ghost从原盘上复制来的),但是ThinkPad同时发现这个记录和ThinkPad根据每块硬盘的不同参数生成的记录不相同,这是ThinkPad就会认为这块硬盘提供了错误的参数,马上判定这块硬盘有错误,而不知道这块新硬盘上的记录是Ghost复制的-----------既是记录错误,而不是硬盘参数错误。

      这个记录如果能够找出来,相信从理论上讲是可以破解ThinkPad的硬盘密码的。
      比方说用一块小硬盘进行低格后装到ThinkPad,启动之后让ThinkPad留下一个记录,然后马上取下硬盘装到台机上,用Norton的Diskedit(或者其他硬盘低级编辑工具)一个扇区一个扇区进行检查,找到可疑的任何数据.......

      结合折腾的实验结果,我认为虽然IBM的硬盘加密之后硬盘的容量参数会改变,同时这个改变之后的参数并不是随机的,是固定的,同时与设定的密码完全无关,但是这只是表面想象,实际上IBM在启动硬盘加密之后,所生成的解密密匙应该是随机的,这个随机加密的数据应该存放在那多出来的将近5MB的空间上。而这个存放空间的位置对于同一块硬盘来说应该是固定的。
   只有找到这个存放空间,我们才能分析存放在那里面的数据,才能真正进行解密;但是根据折腾的实验,这个空间哪怕是在取消硬盘密码之后磁盘管理器也不能识别到。这就证实我的猜想----------有这个空间存在,但是一般的方法是无法识别的,连看都看不到就不用说读取数据了;
      但是GOHST进行硬盘对硬盘进行克隆之时是不是可以把那个空间一起克隆了呢?不管GOHST能不能识别那个空间,是不是也有可能克隆?
      我认为如果可行的话,建议折腾进行这样一个试验:
      找两块尽量一样的硬盘,容量越小越好(为了方便分析硬盘上的数据),首先不要装到IBM的机器上,在普通的台式机进行一次低格,然后将两块硬盘全部空间用工具写入11111111;
      第一步试验:作为第二硬盘装到IBM的本本上,不启动任何密码功能,用本本的第一硬盘开机,只要能正常识别,不要进行任何操作,关机;
      取下试验的硬盘,装到普通的台式机上,用软盘启动,用Norton的Diskedit(或者其他硬盘低级编辑工具)一个扇区一个扇区进行检查,看试验的硬盘上面的每一个扇区是否还是为11111111,记录下所得到的硬盘分区的数据;
   第二步试验:把刚才已经作了第一步实验的硬盘作为第二硬盘装到IBM的本本上,启动硬盘密码,同样使用本本第一硬盘开机,同样也不进行任何操作,关机;先不取下试验的硬盘,再开机取消硬盘密码,关机,取下试验的硬盘;装到台式机上,同样用软盘启动,用Norton的Diskedit(或者其他硬盘低级编辑工具)一个扇区一个扇区进行检查,看试验的硬盘上面的每一个扇区是不是与刚才的第一步试验中检查到的数据有什么不同;

      由于作为试验用的硬盘有两块,所以我们可以进行至少四次的实验,得到四个检查结果,利用比较法有六种比较结果:
   1.同一硬盘的第一步和第二步之间的比较;(有两个)
   2.不同硬盘的第一步和第二步之间的比较;(有两个)
   3.不同硬盘的第一步和第一步之间的比较;
   4.不同硬盘的第二步和第二步之间的比较;
      以上六种比较,我预计难点在于读取硬盘数据--------不是读不出来,而是怕读取不到那多出来的5M的空间;
      根据折腾的实验,IBM的硬盘密码功能是改变了硬盘参数,从而改变了 磁盘大小,分区大小却不变。所以我们可以进一步改进试验---------既用来试验的硬盘低铬之后,不要格式化也不要分区;只要有保证能读取加密过然后又取消加密的硬盘上的所有空间的程序和硬件系统,就可以找到IBM的硬盘加密程序到底在硬盘上留下什么东西,得到这些东西之后,我们才可以开始进一步研究;
      我曾经听说过美国有一家数据恢复公司可以把曾经遭到自动武器故意射击的硬盘上的数据都恢复出来,估计可能是大部分恢复吧,毕竟被子弹打碎的硬盘碎片要去读取也太难了……而IBM的硬盘加密应该只是利用软件层次上的加密吧…….

(我把积分限制取消了,折腾)

[ Last edited by song_1118 on 2004-1-6 at 20:55 ]

折腾 发表于 2003-3-4 17:16

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

song_1118 :

这个方法我觉得好像有点行不通,数据量太大了,分析起来好像有点困难。晚上我再看看吧。

hsz76 发表于 2003-3-4 17:57

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

faint,没想到你真的换PCB了,呵呵,佩服

从你的实验来看,密码信息可能不存放在外部的PCB板上,看来IBM还是很费尽心机的。

关于硬盘加密,建议你看一下ATA得规范,在没有设置正确的密码前,硬盘只相应很少的几个命令,所以你读不到任何数据的,硬盘的firmware根本就不理你。

关于容量的变化,这点是正常的,目前操作系统都使用LBA模式对硬盘进行操作,但是为了兼容老系统,操作系统还会对硬盘作一下LBA->CHS的转换,但是这种转换就不一定都相同了,因为余数的关系,不同的转换可能会差上几个mega,但是并不影响正常使用,这点ATA规范里面也有说明的。

昨天我还说用穷举的方法可以解开,刚才仔细看了看规范,发现有输入限制的,输入5次就必须断电才行,sigh,穷举也没戏了

附上一份关于Security Mode得描述,完整的ATA规范可以去www.t13.org下载

帅哥 发表于 2003-3-4 18:52

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

认真看了折腾的实验过程,步骤很详细。

现在我把实验结果梳理、分析一下。

步骤1,2,3表明,设置了密码的A盘+没设密码的B板开机仍然需要密码,而没设密码的B盘+设了密码的A板开机不需密码。

从这三个步骤可以直观看出,IBM硬盘密码并不依赖于PCB板存在。也就是说单纯更换PCB板仍然无法修复这个硬盘。
一个标准硬盘由盘体和PCB板两部分构成,盘体内只有主轴电机和非常简单的磁头驱动电路,主要的固件FIRMWARE和接口部分就在PCB板上。这样看来,IBM的密码确实象我所说的一样,是记录在盘体的磁记录上。

不过这个结果就直接推翻了网友的密码做在芯片里说法。

步骤4表明,设置过密码的硬盘磁盘参数发生了变化,容量增加了大约5M,柱面增加了77,每个柱面的磁道减少了15。所以磁道总数从原来的1222*255=311610变成了1299*240=311760,磁道数增加了150。每个磁道有63个扇区,相应的扇区总数增加了150*63=9450。每个扇区容量为512字节,再相应的总容量增加了9450*512=4838400字节。这个增加出来的容量与XP报告的磁盘大小:10056130560-10051292160=4838400字节相符。

分区大小则没有变化,依然是10051259904 。这个分区是用MS系统分区工具分出来的,与硬盘原始总容量差仅有32256字节,即一个完整磁道空间。这是MS系统分区的正常现象,所有硬盘经过MS系统分区后都会空余至少一个磁道的空间,这是MS系统对硬盘的一个保护措施,防止超过硬盘额定容量存取。我们运用常规磁盘工具只能访问到这个区域内的内容,运用编程方式(例如INT13绝对磁盘存取)则可以访问到整个磁盘的最大容量(包括分区以外的32K)。但个人认为如果IBM把加密数据写在这32K字节中就太不高明了。因为用GHOST的DISK TO DISK就可以把空闲的32K内容一起复制过去。实际情况也说明了这一点,因为有网友试过用D TO D的方式也不能破解密码。

这样看来,IBM使用了非正常使用状态下的硬盘额外空间用于存放密码数据。即磁盘的保留空间,在标准磁道之外的额外磁道。这一点是很有可能的。厂家在生产硬盘盘体的时候不可能做得那么刚好,设计柱面为1222就刚好做1222,可记录的磁区一定留有余量,就象一张CDR光盘,标称容量650M,其实可以超过650M多刻一点。

这让我想到了DOS时代使用的软盘,HDCOPY大家不知道有没有用过,DOS时代红极一时的工具软件。普通的五英寸1.2M 软盘在它的超量格式化下可以突破三英寸软盘的1.44M,而普通1.44M软盘可以格式化出1.68M的空间,因为它使用了软盘标准80磁道以外的非标准的81,82,83,84磁道。

用HDCOPY超量格式化出来的1.2M软盘是不能在普通1.2M软驱上读出来的,因为普通软驱只定义了80个磁道,不能读到81以后的磁道去。处理办法有两种,第一种是在BIOS设置里把1.2M软驱强制设定为1.44M(我也不知道为什么),另一种就是加载HDCOPY自带的超量读取驱动:FDREAD.COM 这个文件非常小,可以先拷贝到这张超量格式化过的软盘上再拷其他数据,在其他机器上可以先读出FDREAD,运行后就可以读取正常磁道以外的内容了。

我想IBM的密码机制的一种可能性是:
在设置硬盘密码的时候修改了硬盘容量参数,让其不能以正常方式访问,然后把密码校验程序和硬盘密码信息存放在标准磁道以外,再修改主引导记录让这块硬盘在加载的时候有能力访问到标准磁道以外的内容。开机的时候直接就把指针引到这个区域去运行密码校验程序,如果通过校验就加载一个参数解释程序(类似上面说过的FDREAD)让硬盘可以以正常方式访问数据,反之就不加载。因为没有这个特定的参数解释程序,BIOS读取的硬盘参数有误,当然就无法以错误的方式访问硬盘上的数据,更没有办法访问到标准容量之外的空间去。

至于说清除掉密码以后为什么硬盘参数不会恢复正确值,我想IBM可能只是在清除密码时把引导指针直接指向加载容量解释程序了,(因为这样做省时又省力,很多偷懒的程序员都这么干,我有时候也这么干,而且下一次再设置密码时可以少做一些动作)这样可能也是一个合理的解释。

如果IBM是采用这这种方式存放的硬盘密码,那当然是有办法破解的(其实我在前面就说过了,只要加密是在磁记录上做的,就一定能破),我想关键问题是取得引导时的指针,通俗的说就是要抢到引导的主动权。如果可以抢得到指针,直接把它指向到参数解释程序的入口就OK了。

还有一种办法就是想办法恢复正确的低级引导记录(不是FDISK/MBR)和正确的硬盘参数,其实就是我在顶楼说的低格的办法,低格是彻底地恢复出厂状态,包括各项参数、Interleave和最原始的引导记录(我就叫它低级引导记录吧)。

大家觉得我说的有道理吗?其实好好想一想,我们从来都一直在说低格低格,有没有人想过低格和高格之间有什么底层的差别没有?为什么我们一致认为低格不好,会伤硬盘,其实怎么个伤硬盘法?高格的时候不也是一样在全盘读写擦除硬盘,硬盘灯常亮吗?低格的时候只是在硬盘上划分磁区,难不成真的会把硬盘划成一个圈一个圈的?我想可能也就是厂家担心低级引导记录被破坏才找到的一个借口。我们常说的MBR(Master Boot Record主引导记录)只是高级引导记录,我想在MBR之前可能还存在一个不为人知的低级引导记录或是硬件层接口,它保证了在高级引导记录完全失效的状态下还有办法与硬件底层通讯。

IBM可能就是通过这个低级引导记录取得引导的绝对控制权,因为修改MBR的手段并不算高明,一个FDISK/MBR就可以恢复,再说了,用杀毒软件来查也会报告有引导型病毒,会被清除掉的。好象设过硬盘密码的IBM硬盘不会被查出有引导型病毒吧?

不要过分相信手册上公布的资料,MSDOS的保留中断和MS未公开的秘密中断资料直到现在也不是完全开放的。例如INT33鼠标中断现在是大家都知道的一个中断,其实33H在MS公布的资料中是没有的,是一个秘密中断,只是后来流传开了大家才知道。

不公开33H资料并不等于没有这个功能,只是微软不保证它在后续的操作系统中继续支持这个功能。DOS从3.0开始就一直支持33H,直到98、ME都支持,到了2000和XP,微软就取消了33H中的一部分功能调用。我在91开始接触鼠标时,非常想自己编程控制鼠标,但是非常难,几乎没有办法,因为当时没有任何鼠标中断资料,后来过了两年,33H的资料流落民间了,拿到手一看,原来是这么简单,一个中断就解决了两年前想破头的问题。这个例子就说明,很多事情我们做不到,是因为手头可用的咨料太少,而不是因为能力的问题。

话说回来,IBM的硬盘加密机制有可能就是这样子的,有可能可以用低格的办法解决它。如果还是不行,那可能真的是ATA规范的事情,那再想其他的办法。

建议折腾用我说的方法三(低格)试一下,找一个小容量的硬盘和一块带BIOS低格的主板来做做看。

大家觉得我说的有道理吗?

xucg 发表于 2003-3-4 19:09

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

此类帖子搞积分限制毫无意义,如果担心别人看到,那么使用悄悄话好了。

坦率地说,我觉得各位的研究方向有问题。目前来说,破解硬盘密码的目的不应该是为了数据,而是方便各位用户换硬盘。很多人买了二手本子,因为有超级用户密码的限制而无法升级硬盘,所以各位应该研究研究如何解决这个问题。至于数据,对于很多人来说并不是很重要的。

帅哥 发表于 2003-3-4 19:22

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

另外还想请教一下HSZ76,如果照你所说ATA规范密不可破,那么:

1、硬盘的FIRMWARE是写在PCB板上的E2PROM还是写在盘体磁区内的?如果是写在磁区内的,岂不是太脆弱了?

2、ATA规范的执行如果是通过PCB板完成的,那为何更换PCB还是不能清除密码?

3、ATA规范的执行如果是写在磁区内的,那PCB板只是做为一个IO接口,为何设计制作得如此复杂?
   如果只是为了控制CACHE及电机磁头机械动作,很简单的电路就可以完成了。

4、即使ATA规范设定了密码,那这个密码写在什么地方?芯片还是磁记录中?

帅哥 发表于 2003-3-4 19:32

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

xucg wrote:
此类帖子搞积分限制毫无意义,如果担心别人看到,那么使用悄悄话好了。

坦率地说,我觉得各位的研究方向有问题。目前来说,破解硬盘密码的目的不应该是为了数据,而是方便各位用户换硬盘。很多人买了二手本子,因为有超级用户密码的限制而无法升级硬盘,所以各位应该研究研究如何解决这个问题。至于数据,对于很多人来说并不是很重要的。

请XUCG看一下我想破解IBM硬盘密码的初衷:

   “其实这个硬盘没有坏啊。报废了多可惜啊。不考虑硬盘里的数据问题的话,我想是不是可以把这个硬盘救回来用。 ”

我的想法正是想挽救这个“报废”的硬盘。应该也有不少人吃过这个密码的亏吧,所以这也是一个很实际的问题。

hsz76 发表于 2003-3-4 20:04

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

规范只是描述接口的东东,具体怎么实现得看厂家自己

以前就说过IBM对规范支持的最好,很多细节都是IBM有而别的厂家无,对于硬盘加密,可能IBM做得比较彻底。

Firmware放在什么地方是厂家自己做的,要放到磁盘上也不是不可以。虽然解密,加密是由firmware来完成,但是密文不一定非得和firmware放在一起,你换走PCB只是换了电路而已,秘文不一定会被换掉。

这就像Thinkpad得BIOS,你虽然可以刷新BIOS,但你刷新不了密码,除非把存放密码的那个片子换掉,硬盘的firmware就相当于BIOS。

至于低格硬盘,你的想法还是基于早期的硬件设计,那会儿的硬件做得很简单,所有的操作都是由主机的软件来控制完成,现在的硬盘上大部分都是有CPU得,你所发送的I/O命令都需要Firmware来解释,所以没有设置正确的密码硬盘根本不会相应你的I/O操作,更别提什么INT13这样的高级接口了。

我在给折腾回复的那个帖子里面附了一段ATA关于安全特性的说明,你也看看吧。

帅哥 wrote:
另外还想请教一下HSZ76,如果照你所说ATA规范密不可破,那么:

1、硬盘的FIRMWARE是写在PCB板上的E2PROM还是写在盘体磁区内的?如果是写在磁区内的,岂不是太脆弱了?

2、ATA规范的执行如果是通过PCB板完成的,那为何更换PCB还是不能清除密码?

3、ATA规范的执行如果是写在磁区内的,那PCB板只是做为一个IO接口,为何设计制作得如此复杂?
[$nbsp][$nbsp][$nbsp]如果只是为了控制CACHE及电机磁头机械动作,很简单的电路就可以完成了。

4、即使ATA规范设定了密码,那这个密码写在什么地方?芯片还是磁记录中?

notbig 发表于 2003-3-5 00:50

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

以前NORTON不是有个NU和NDD,直接可以改写引导区记录,不知能否用的上。

帅哥 发表于 2003-3-5 01:01

回复: Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

notbig wrote:
以前NORTON不是有个NU和NDD,直接可以改写引导区记录,不知能否用的上。

NDD FOR DOS也是采用INT13的技术,也依赖于BIOS和DOS,所以无效。它最多可以测出MBR故障并恢复,相当于FDISK/MBR

5imax 发表于 2003-3-5 02:47

Re:[原创技术文章]IBM硬盘密码的破解,请HOPE等大侠一起来看一下。

这让我想起了以前compaq 机的一个关于10MB的BIOS记录的东西, 当时就是做在硬盘里的。

谁有这方面的资料, 兴许可以拿来做下逆向参考。
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: PWD IBM硬盘密码的破解讨论。(未解决、有待继续研究)