freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:2440回复:12

硬盘还原的实现原理?

楼主#
更多 发布于:2002-04-30 17:42
现在市场上有各种硬盘还原卡,可是其中的实现原理是什么呢?
望高手探讨一下
du_lin
驱动小牛
驱动小牛
  • 注册日期2002-01-26
  • 最后登录2005-08-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-05-27 20:46
我原来和老师做过,就是你说的这种方法,在dos 下,不知到windows2000 下为什么就不灵,也是在操作系统启动前家载,更改int13,我想windows启动后,已经把这些都换掉了,换成自己的了。最好有高手讨论一下。

[编辑 -  5/27/02 by  du_lin]
wuhz
驱动牛犊
驱动牛犊
  • 注册日期2002-05-27
  • 最后登录2005-10-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-05-27 17:33
硬盘保护卡的程序,其中一种的工作方式:
1、硬盘需要开出对应大小的备份工作区间,也就是,如果你的保护分区是1G, 那么需要1G的区间来对应作为对应备份工作区间。
2、卡上自带的BOOT程序启动后,替换INT13中断。
3、程序启动后,在内存中建立一张磁盘扇区的修改表,并初始化成未修改状态。
4、当程序对磁盘进行写操作时,程序将对应扇区标志改为写标志,并且直接写到备份工作区间对应扇区中。
5、当程序进行读,程序根据扇区的修改表的标志,决定是读原扇区还是备份工作区间。

其实,硬盘保护卡的程序本身比较简单,但由于程序加载在操作系统之前,调试相当麻烦!
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-27 11:26
谁有具体实现的例子?
flyinto@371.net
iHqq
驱动牛犊
驱动牛犊
  • 注册日期2002-05-06
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-06 15:30
硬盘还原卡,就是在系统启动时,将int13的中断修改,指向自己的处理代码。和超级保镖的原理相同,同样是截取系统的int13调用
一软一硬。应该也是将修改的部分保存到磁盘上,辟出一块空间吧,重起后自动删掉数据。
iHqq
驱动牛犊
驱动牛犊
  • 注册日期2002-05-06
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-06 15:24
发信人:Xing_Xing (星星)  版面名称:Hacker(8604)
标 题:硬盘保护卡的破解 (转)
发信站:中国科大BBS站 (Sun, 28 Oct 2001 15:13:24 )
标 记:普通
硬盘保护卡的破解
原勋
本来以前就要写这一篇,的,有事耽误了,现在写出来滥竽充数吧!
还原卡也称硬盘保护卡,学校等单位采用较多,可以保护硬盘数据不被恶意修改,删除
。保护卡是一种硬件芯片,插在主板上与硬盘的MBR协同工作。在说明原理前,我想先提
一种技术“BIOS映射地址搬移”。这种技术在前几年,大行其道,但均秘而不喧。诸位
以前玩解密的时候可能都用过龚成宾的SIMU97吧。它能在只读的BIOS地址区实现写入,
因而能拦截到CALL F000:EC59等调用。这种调用在以软盘为载体的加密方案中,有重要
意义[后来为了躲过它,王江民没办法使用了UPD765。不过,据我分析UPD765 照样可以
拦截]。刚才提的那种拦截方式的原理是这样的[跟踪所得]:通过调用Int15h子功能[其
他也可以,只要能切入保护模式],切入保护模式,改掉BIOS所在段的段描述符。这种方
法可以实现BIOS段的重定位,当然就可以让它可写入了。用Int13H读软盘时Int13H会调
用F000:EC59,这是拦截Int13h 的一种高级手段。其实围绕硬盘保护的加密解密关键就看
谁拦截的位置更底层。但对与硬盘保护卡来说,只要恢复Int13的BIOS级中断向量就够了
。具体如何破解呢?找到Int13h的BIOS解中断向量值,填入中断向量表。[有些部份如果
觉得简单请跳过看 ^_^]
下面是找Int13入口的方法,我常用的几种:
1。手工运行Debug,如下:
  Debug
- a100
- xor ax,ax
- int 13
- int3
然后输入t回车,不断的重复,直到显示的地址形如 F000:xxxx。 记下这一地址,按q 回
车退出。
在(0:13H*4)=0:4cH 处填入这个地址。
例如得到的地址是F000:1234
运行debug
-e 0:4c 34 12 00 F0
-q
注意:
填的时候要仔细,填错的话会死机。有些经过针对性处理的机器,要进一步鉴别。如在
Int13内部调    用Int1ch. 如果在trace过程中发现如下代码 CMP DL,80,修改成
CMP DL,FF 别的都不要修改.试试    硬盘可写吗?如果可以的话万事大吉。另外,
不能在Windows的虚拟DOS窗口中使用这种方法。如果在Windows的虚拟DOS窗口运行的话
,请使用下一种方法。
2。Debug
- s F000:0 ffff 80 fa 80
你可能会发现有好几处。试验一下: 如果U F000:xxxx地址后发现代码类似
    -u F000:xxxx
PUSHF
CMP DL,80
JZ ....
 .
 .
     .
的话,填入向量表试试。通常破解就完成了。
我曾经发现经过以上中断还原后,仍不能写盘的情况。经跟踪发现Int8H,Int 1CH,Int1
5H等向量对
Int13H进行了向量保护。解决办法:把Int8H,Int1cH,Int15H 也改会原始中断点(也是
BIOS中断)。尝试写盘:
copy c:\\command.com test.com <Enter>
1 file Copied.
如果想获得保护卡密码的话,可以参考以下步骤:
1。找到Int13h原始点设回中断向量表。
2。读出MBR
可以分析这份MBR,找到存放加密密码的扇区得出解密算法。。。

--
※ 来源: 中国科大BBS站 [bbs.ustc.edu.cn]
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-05-03 13:19
[quote]按照我的认为:
还原卡是负责数据的还原,而在系统下有一个一启动系统的时候就加载的驱动程序,这个驱动程序负责将要把修改的数据备份到硬盘上!而还原的时候就是把备份的数据还原回去
 

怎样在驱动程序里截获修改的数据呢?又
怎样将备份的数据还原回到恰当的地方呢? [/quote]
通过钩挂在PARTITION0,PARTITION1。。。。。。就可以拦截到写硬盘的数据,并且是扇区的!然后把将要被修改的扇区数据复制到别的地方,并且记录扇区数和扇区号,还原的时候就是根据扇区数和扇区号来进行还原
u_you
驱动中牛
驱动中牛
  • 注册日期2002-04-11
  • 最后登录2010-03-05
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-05-02 22:41
我想是接管INT13中断,写数据时将数据写到硬盘的另一个地方(比如说尾部)并做好标记,当下次读这块时直接到该处读取。
---我说的也许太土老冒,DOS下应是如此,但Windows不知是否还用INT13。
狼,食肉目犬科犬属。外形和狼狗相似。 有狗的忠诚,但无狗的奴性。 [img]http://www.driverdevelop.com/forum/avatar/u_you_wolf.jpg[/img]
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-05-02 16:57
按照我的认为:
还原卡是负责数据的还原,而在系统下有一个一启动系统的时候就加载的驱动程序,这个驱动程序负责将要把修改的数据备份到硬盘上!而还原的时候就是把备份的数据还原回去
 

怎样在驱动程序里截获修改的数据呢?又
怎样将备份的数据还原回到恰当的地方呢?
freefly
驱动牛犊
驱动牛犊
  • 注册日期2001-11-08
  • 最后登录2007-02-11
  • 粉丝0
  • 关注0
  • 积分113分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-05-02 16:53
我知道软件还原的原理,也想了解一下硬件还原的原理。我猜是不是卡将内存作为写的缓存,并不真正写如硬盘,可是这样要消耗多少内存呀,除非卡上带一部分,但是怎么又和操作系统结合呢?

可否告诉大家软件还原的原理呢?让大家开开眼界吧
Supermi
驱动牛犊
驱动牛犊
  • 注册日期2001-10-20
  • 最后登录2014-06-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-05-01 05:11
有一种还原卡是直接对数据总线操作的
不过不管那种还原卡,你可以把 20G 的硬盘该掉19G ,该卡一定不管用,或是中途报错,也就是说,这种卡可以利用本身的RAM 系统的RAM ,以及部分硬盘,但还原能力是有限的,而且,90%的卡是要求有驱动配合,并单独划分一部分硬盘用于还原
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-05-01 00:03
按照我的认为:
还原卡是负责数据的还原,而在系统下有一个一启动系统的时候就加载的驱动程序,这个驱动程序负责将要把修改的数据备份到硬盘上!而还原的时候就是把备份的数据还原回去
zhch111
驱动小牛
驱动小牛
  • 注册日期2002-02-04
  • 最后登录2003-01-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-04-30 20:09
我知道软件还原的原理,也想了解一下硬件还原的原理。我猜是不是卡将内存作为写的缓存,并不真正写如硬盘,可是这样要消耗多少内存呀,除非卡上带一部分,但是怎么又和操作系统结合呢?
游客

返回顶部