关于保护卡及mbr的问题?100分

z_plus 2003-05-26 10:18:10
请问各位:
在虚拟dos下如何用debug判断保护卡的密码?
怎么读出mbr?有找密码算区及加密算法的示例吗?
保护卡怎样才能避免这些问题?
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ggdw 2003-06-05
  • 打赏
  • 举报
回复
帮你顶
  • 打赏
  • 举报
回复
破解硬盘保护卡
还原卡也称硬盘保护卡,学校等单位采用较多,可以保护硬盘数据不被恶意修改,删除。保护卡是一种硬件芯片,插在主板上与硬盘的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,推算出密码


我试过的,成功!!
还有一些,不过可能有些和上面的是一样的


下面是找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,推算出密码


破解方法有2:
第一种破解率还可以.
第二种好像是万能的(俺还没碰到破解不了的----见识短的表现-

第一种:
开机时(也就是在你曾经进入cmos的时刻),同时按住ctrl+home,这样你就进入了
还原卡的密码输入窗口,只要输入正确的密码即可获得admin,以后随你怎样设置.
关于是密码的问题:一般还原卡都有默认密码的,默认密码怎么找,很简单,到网上搜索
关键词"还原卡"就行了,找到你用的那个牌子的还原卡,进入站点,在一个比较偏僻的角落
一般可以找到默认密码的.
而一般机房管理员是不会修改其默认密码的,比如俺学校的
台湾远志牌的还原卡的默认密码是12345678,
小哨兵的是manager, 机房管理员一个也没改,好爽!!!!!!!!!!
不过我可没破坏任何东东,一旦惹怒了俺,嘿嘿....俺也不会破坏的,
恶意破坏计算机就是对自己的不尊重!!!!

如果管理员把密码改了呢?那就拿出宝刀---
方法二:
此法实施过程看起来挺麻烦,不过熟悉了*作起来超不过15秒的-
高手sinister曰:
其实所谓硬盘保护卡就是在ROM中写了一段HOOK INT 13的程序,屏蔽了
一些功能调用如AH=3,5等,在中断向量表中INT 13的SEG,OFFSET
描述为[13h*4+2],[13h*4],将此中的程序先保存后,再替换为自己的代码,
当你AH=2的时,它便会call原始INT 13地址来完成*作.
只要找到原始INT 13入口便可以为所欲为.
不知看了这段感觉如何?慢慢消化吧.

主要矛盾:关键是要找到原始的int 13入口.
测试*作系统:win98
测试对象: 台湾远志还原卡
测试地点: 学校机房
测试目的: 控制还原卡,但不破坏.

注:本篇文章不对其实施过程中出现的任何不可预料的情况负责!!!!!
具体过程如下:
开机过程按住F8键,进入纯dos环境, 注";"后为注释.
出现提示符c:,
键入c:\debug,
- a100
- xor ax,ax
- int 13
- int3
; 寻找原始的int 13入口.
然后输入t回车,不断的重复,直到显示的地址形如 F000:xxxx
,后面的指令为:mov dl,80 (练练眼力-。按q退出.
记下这一地址, 在(0:13H*4)=0:4cH 处填入这个地址。
例如俺的得到的地址是F000:9A95
再次运行debug ,键入:
-e 0:4c 95 9A 00 F0 ;e的作用将数据表"95 9A 00 f0",写入地址0:4c开始的字节中.
-q

注: 填的时候要仔细,填错的话会死机。ok,破解完成.
这时在提示符c:\键入
c:\win
进入win98系统即可,那么这次你在win98系统中的一切*作,随着下一次
的启动都会被还原卡存储起来。
不过下一次进入系统的的时候,你还是需要重写地址0:4c,才可以让还原卡存储你的东东。
这时只需要在纯dos下进入debug,键入
-e 0:4c 95 9A 00 F0
-q 即可。
哈哈。。。这样也挺好,只有你才是这台computer的真正的主人 -。
别人还是受还原卡的限制的except--you 。


skdkkd 2003-06-04
  • 打赏
  • 举报
回复
我用的是DEBUG破解保护卡的,我从不算出密码,只是破解,可用DEBUG读出MBR(512字节)
在虚拟dos下用Debug 破解保护卡的方法,
DEBUG
- s F000:0 ffff 80 fa 80
屏幕上会出现好几处地址,通常这个地址在F000:8000以后
如果U F000:xxxx地址后发现类似的代码,则记下来
    -u F000:xxxx
PUSHF
CMP DL ,80
JZ ......
 .
 .
 .
lijiuhua0721 2003-05-26
  • 打赏
  • 举报
回复
或者用WWW.GOOGLE.COM搜索一下吧
lijiuhua0721 2003-05-26
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1141/1141352.xml?temp=.2289087

9,506

社区成员

发帖
与我相关
我的任务
社区描述
Windows专区 安全技术/病毒
社区管理员
  • 安全技术/病毒社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧