硬盘保护卡的破解
本来以前就要写这一篇的,有事耽误了,如今写出来竽充数吧!
还原卡也称硬盘保护卡,学校等单元采用较多,可以保护硬盘数据不被歹意修正,删除。保护卡是一种硬件芯片,插在主板上与硬盘的MBR协同事情。在说明原理前,我想先提一种技术“BIOS映射地址搬移”。这种技术在前几年,大行其道,但均秘而不喧。诸位以前玩解密的时间大概都用过龚成宾的SIMU97吧。它能在只读的BIOS地址区完成写入,因而能阻拦到CALL F000:EC59等调用。这种调用在以软盘为载体的加密方案中,有重要意义,厥后为了躲过它,王江民没措施使用了UPD765。不外,凭据我的分析UPD765读写软盘时照样可以阻拦。刚才提的那种阻拦方式的原理是如许的[跟踪所得],通过调用Int15h子功效,其他要领也可以,只要能切入保护模式,切入保护模式后,改失BIOS地点段的段形貌符。这种要领可以完成BIOS段的重定位,固然就可以让它可写入了。用Int13H读软盘时Int13H会调用F000:EC59,这是阻拦Int13h 的一种初级本领。实在围绕硬盘保护的加密解密关键就看谁阻拦的位置更底层。但对与硬盘保护卡来说,只要规复Int13的BIOS级停止向量就够了。详细怎样破解呢?找到Int13h的原始BIOS停止向量值,填入停止向量表。如许修正以后其他对Int13H 的钩子通常就被绕过了 [有些部份要是以为简略请跳过看 ^_^]
上面是找Int13入口的要领,我常用的几种:
1。手工运行Debug,最幸亏纯DOS下:
Debug
- a100
- xor ax,ax 注意: 后面要加上功效号以选择Int13H内部的流程,避免进入其他不颠末原始入口的流程
- int 13
- int3
然后输入t回车,不停的重复,直到表现的地址形如 F000:xxxx。记下这一地址,按q 回车加入。 这里假定了第一个F000:xxxx就是要找的入口,实际上可以在第2,3,4,。。。。呈现,要自己判断一下,通常以为就是第一个。
在(0:13H*4)=0:4cH 处填入这个地址。
例如得到的地址是F000:1234
运行debug
-e 0:4c 34 12 00 F0 =======>把得到的原始入口填入Int13H的停止向量表
-q
注意:
填的时间要仔细,填错的话会死机。有些颠末针对性处置惩罚的机器,要进一步辨别。如在Int13内部调 用Int1ch. 要是在trace过程中发现如下代码 CMP DL,80[意思是判断能否针对硬盘操纵] ,可以实验修正成不存在的硬盘号,好比改成CMP DL,FF。其他的都不要修正.试试 硬盘可写吗?要是可以的话就万事大吉了。另外,不克不及在Windows的假造DOS窗口中使用这种要领。要是在Windows的假造DOS窗口运行的话,请使用下一种要领。
2。Debug
- s F000:0 ffff 80 fa 80 强行搜索BIOS区,通过比力入口代码找到原始入口点
你大概会发现有好几处。凭据我的屡次破解经验,通常这个地址在F000:8000以后。试验一下: 要是U F000:xxxx地址后发当代码类似
-u F000:xxxx
PUSHF
CMP DL,80
JZ ....
.
.
.
[有些不是如许,要注意辨别。]
的话,填入向量表试试。通常破解就完成了。
我曾经发现颠末以上停止还原后,仍不克不及写盘,或者死机的情况。经跟踪发现Int8H,Int 1CH,Int15H等向量对
Int13H举行了向量保护。办理措施:把Int8H,Int1cH,Int15H 也改会原始停止点(也是BIOS停止)。实验写盘乐成
要是想得到保护卡密码的话,可以参考以下步骤:
1。找到Int13h原始点设回停止向量表。
2。读出MBR
3,分析读出的MBR,找到密码算区和加密算法
4,推算出密码
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|