|
作者: yifeng [yifeng007] 论坛用户 | 登录 |
硬盘保护卡怎么破解? |
地主 发表时间: 04-02-15 08:55 |
回复: k_com [k_com] 论坛用户 | 登录 |
总的来说来追踪到地址~~~一般没有直接的工具的`因为我学校的机房就这东西 |
B1层 发表时间: 04-02-15 09:40 |
回复: windflower [windflower] 论坛用户 | 登录 |
hook int 13 改写中断向量 |
B2层 发表时间: 04-02-15 13:25 |
回复: newmyth21 [newmyth21] 论坛用户 | 登录 |
硬盘保护卡的破解(转载) 原勋 本来以前就要写这一篇的,有事耽误了,现在写出来竽充数吧! 还原卡也称硬盘保护卡,学校等单位采用较多,可以保护硬盘数据不被恶意修改,删除。保护卡是一种硬件芯片,插在主板上与硬盘的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,Int15H等向量对 Int13H进行了向量保护。解决办法:把Int8H,Int1cH,Int15H 也改会原始中断点(也是BIOS中断)。尝试写盘: copy c:\command.com test.com <Enter> 1 file Copied. 如果想获得保护卡密码的话,可以参考以下步骤: 1。找到Int13h原始点设回中断向量表。 2。读出MBR 可以分析这份MBR,找到存放加密密码的扇区得出解密算法。。。 来源:http://www.dev-club.com/club/bbs/showEssence.asp?id=13971 |
B3层 发表时间: 04-02-15 13:34 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号