当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:55:00  来源:本站整理

<b>KV300技术解析(有关硬盘锁)</b>[VC/C++编程]

赞助商链接



  本文“<b>KV300技术解析(有关硬盘锁)</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

注:此程序有一定的风险性.老妖也没有试过.但愿大家考虑清楚了再行事.

要不是亲身试一下,你一定不会相信,运行下面的程序,你的机械将不能从软盘启动,更不能从硬盘启动.而这个程序仅仅改正了你的硬盘的扩大DOS分区的首躲藏扇区.

code segment
assume cs:code,ds:code
org 100h
begin:
xor ax,ax
mov dl,80h
int 13h ;复位硬盘
mov ax,201h
mov bx,200h
mov cx,1
mov dx,80h
int 13h ;读主指导扇区到200H
mov cx,ds:[3d0h]
mov [3ceh],0
mov bx,210h
mov ax,301h
int 13h ;写扩大分区首躲藏扇区
int 19h ;快启动
code ends
end begin

程序很短,你可以在DEBUG中输入并运行.在编译成.com 之后,运行之前请保存好硬盘的扩大DOS分区的首躲藏扇区的内容,以备将来恢复时用.

笔者是在编制一个硬盘加锁程序时,因计算有误而无意发现这一点的.仅仅因为改正硬盘一个躲藏扇区,造成机械从软硬盘都不能启动,从未见资料说起.作者当时很惊奇.

为了办理问题,笔者按复位键,进入CMOS设置,将硬盘设置为未安装,则可以从软盘启动,但是,利用INT13h仍不能读写硬盘,因此无法将被破坏的扇区答复.

笔者预计是指导历程中,读取硬盘分区表时形成循环的来由.来由有两点:

1、因为仅仅改正硬盘一个扇区,造成了如此现象,而该扇区仅记录了硬盘分区表的一些信息;

2、启动历程中,不管从软盘启动还是从硬盘启动,终究的现象都是硬盘灯第亮.因此,换用不支持硬盘分区的低版本DOS系统盘也答应以启动,利用2.0版的系统盘,公然可以在CMOS设置为硬盘正常安装的情形下启动机器,启动后虽仍不能进入硬盘,但可以用INT13h读写硬盘.在DEBUG顶用正常的内容覆盖硬盘的扩大DOS分区的首躲藏扇,重新启动机器,成功.


  以上是“<b>KV300技术解析(有关硬盘锁)</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .