硬盘逻辑锁之巧解
[故障分析]:硬盘不能引导,从软驱及光驱使用系统盘同样不能引导。 0 b& Z0 c" y8 ~
& p* S; c0 o; U4 S: ^/ v [解决方案]:1、format
. l2 j3 [; E; Y3 H3 O" j B" Y' `" g! \1 x
a:/s 命令格式化一张软盘,或在windows
4 }; e3 J% ?$ Q7 a. }! U0 y5 F! Q! z0 f
格式化一张软盘(要求做系统),将此软盘中io.sys文件作修改后可带中了逻辑锁的硬盘启动。如不知如何修改可将此文附件中所有文件均拷入制作好的软盘中即可(包括已解密的kv3000的程序)。运行软盘中ckv3000文件。接下来按F10,再按Y键,待系统有提示时,换上另一张软盘,注意不要使软盘写保护,再按Y键,待系统将硬盘引导区记录保存到软盘上hdpt.vir文件中后会开始恢复硬盘的引导区,此过程大约需要三至五分钟,小硬盘更快,恢复完毕再次提示保存引导区记录,放入另一张软盘,盘上不要有hdpt.vir文件名的文件,键入Y后约几秒钟系统提示恢复成功,OK!OK!OK!。 # m8 k- b( Q! q7 Z! d% ^
# Y! Z* q# p0 i$ g 2、如不需保存数据的话可在软盘引导成功后使用LFORMQT作低格,此时只要低格过程一开始就可以退出,大约只需要几秒钟的时间,不必将低格过程全做完以节省时间。然后可以用正式的win98系统盘引导,再分区、格式化就成了。
! T% F& _# l3 v) C; u K# S) X- y ]: W# [
[总结心得]:下面引用一段在解锁方面颇有研究的人士的短文,该文阐述了硬盘是如何被加上逻辑锁的,从而想出用修改了IO文件的系统软盘带着上了锁的硬盘启动的方法,上述解锁的方法可以说是从中得到启发而来。不过我也曾用下面介绍的“方法一”来试图有效保存硬盘上的数据但无奈没有成功,用“方法二”使用DM来做低格也不曾奏效。热插拔法来解锁更是天方夜谭。而使用KV3000的F10功能确能恢复硬盘引导区记录。据说此逻辑锁本是KV3000的发明者王江民所创,因此他的KV3000能解此锁也就不足为奇了。 " z7 w/ w' E8 i9 B7 m8 Z
6 ^! E% @# e! ?" }5 g B 引文: * O* t( e6 v' t) I: ~
4 e& B# g: {$ X4 Q
我先讲述一下被“逻辑锁”锁住的硬盘为什么不能用普通办法启动的原因:
7 g! E. G3 W. w7 O ~7 D
& `( P0 x& H$ B1 t: { 计算机在引导DOS系统时将会搜索所有逻辑盘的顺序,当DOS被引导时,首先要去找主引导扇区的分区表信息,位于硬盘的零头零柱面的第一个扇区的OBEH地址开始的地方,当分区信息开始的地方为80H时表示是主引导分区,其他的为扩展分区,主引导分区被定义为逻辑盘C盘,然后查找扩展分区的逻辑盘,被定义为D盘,以此类推找到E,F,G.....“逻辑锁”就是在此下手,修改了正常的主引导分区记录将扩展分区的第一个逻辑盘指向自己,DOS在启动时查找到第一个逻辑盘后,查找下个逻辑盘总是找到是自己,这样一来就形成了死循环,这就是使用软驱,光驱,双硬盘都不能正常启动的原因。实际上这“逻辑锁”只是利用了DOS在启动时的一个小小缺陷,便令不少高手都束手无策。知道了“逻辑锁”的“上锁”原理,要解锁也就比较容易了。以前我看到有位朋友采用“热拔插”硬盘电源的方法来处理:就是在当系统启动时,先不给被锁的硬盘插上电源线,等待启动完成后再给硬盘“热插”上电源线,这时如果硬盘没有烧坏的话,系统就可以控制硬盘了。当然这是一种非常危险的方法,大家不要轻易尝试,下面介绍两种比较简单和安全的处理方法。 $ H( X4 o- O& j& n* `
y3 O) x, s; u) C- T% z# O
方法一:修改DOS启动文件 1 J! \+ _0 o- e i% X/ h' ^1 j% h
! ~# u5 ]# E$ I( t. P8 {7 G0 [ { 首先准备一张DOS6.22的系统盘,带上debug、pctools5.0、fdisk等工具。然后在一台正常的机器上,使用你熟悉的二进制编辑工具(debug、pctools5.0,或者windows下的ultraedit都行)修改软盘上的IO.SYS文件(修改前记住改该文件的属性为正常),具体是在这个文件里面搜索第一个“55aa”字符串,找到以后修改为任何其他数值即可。用这张修改过的系统软盘你就可以顺利地带着被锁的硬盘启动了。不过这时由于该硬盘正常的分区表已经被黑客程序给恶意修改了,你无法用FDISK来删除和修改分区,而且仍无法用正常的启动盘启动系统,这时你可以用DEBUG来手工恢复。使用DEBUG手工修复硬盘步骤如下: O n" z# h6 ?8 A
- Z; t0 p! ]5 ^6 ~9 {4 n. K
a:\>debug
' r9 l) F7 X7 a2 r7 e/ t* `! g
0 {6 N$ O6 A z -a
/ `' O* T5 L/ @
6 K1 N# ]' i$ N6 k6 \; ~! j -xxxx:100 mov ax,0201 读一个扇区的内容 + b+ B, q: `9 a( l- N
' J/ p8 w# y& j5 @- z: a6 M! A Q; G
-xxxx:103 mov bx,500 设置一个缓存地址 . g2 c- t' ` W
" s6 U1 v' U/ h
-xxxx:106 mov cx,0001
. y! D/ s) c9 w. I; o' t# x- c# n U4 @
设置第一个硬盘的硬盘指针 ) A7 A. `6 b$ F7 K$ A" f- N
) h( `( J, ^6 Y6 I) h2 i; N. E# u -xxxx:109 mov dx,0080 读零磁头 - J) J4 D0 F; K- [# D8 E% f7 B
; e; k1 `. Z; Y7 P
-xxxx:10c int
: ^( l e' D: p# T, `, g- j5 |7 v* _
; j7 a% ~' G, b 13 硬盘中断 ! V, O: A% o4 p, z9 n/ e
W8 x; X2 B4 l- I* {. U2 _0 \ -xxxx:10e int 20 - ?' S) ^: t2 B+ d- r2 H( `# u; k
4 X0 G7 ]; r0 o6 _
-xxxx:0110 退出程序返回到指示符 5 U! N) H3 E% s& J& A2 g% r
4 P, A! n5 c- n! P ^
-g 运行 5 _, t5 s0 K1 U4 ]5 s1 [* y( W t
7 e- R8 P) d& }# d2 M h9 v. v -d500 查看运行后500地址的内容
) G; u5 K0 q, P0 w
) M0 @/ N. h& a1 O1 _8 c 这时候会发现地址6be开始的内容是硬盘分区的信息,发现此硬盘的扩展分区指向自己,这就使DOS或WINDOWS启动时查找硬盘逻辑盘进去死循环,在DEBUG指示符下用E命令修改内存数据
) o' W V& i2 \& X7 T: x( F, F L- H7 \# J0 M) T
具体如下: $ M: h t' A8 H# m6 }" U8 z' {
9 q% `; `, \) u( K# }9 n E6BE 2 n6 U, k3 C* V, B- ?
/ u; ]" f9 c& k2 s" Q
xx.0 xx.0 xx.0............... 0 i; x1 D% t' z$ G, K5 h
) t( k" J! @5 V5 z1 w# m; |) g
............................. 4 y/ o( e$ O0 y2 a' e* L( j
; I8 Z7 D( _9 q
.......................55 AA
2 d: q* m4 H4 q0 S9 T' |; J
. j7 a: i+ q# |" y& p; \ 55
0 a7 ?( O" `& K' |! d5 [0 U: P! | ]" t, a
AA表示硬盘有效的标记,不要修改,xx0表示把以前的数据“xx”改成0 * o6 ?4 W. D) X
: Z) R( v; Q6 }( g
再用硬盘中断13把修改好的数据写入硬盘就可以了,具体如下: ; m: a3 J8 Q- N U7 v' n
) [+ v3 R8 r' s
A:\>debug 3 T; S6 o! b; n3 q# b
, I ?7 A% ?5 E8 ^+ h# @
a 100 表示修改100地址的汇编指令
9 P6 f) z! x3 R s, w: C
9 R8 F6 J5 k) w1 O: c; _: T3 d -xxxx:100 mov ax,0301 写硬盘一个扇区
5 ]( h/ m, R8 k6 {* ]8 Y6 Y9 l# N- O G% p( P F
-xxxx: 这里直接按回车 4 g6 V! L6 B, M
7 M1 y! H; F; |% z% d: p1 C+ k& P -g 运行
8 t' ~9 f* j# Z2 m& j! ?: O0 n M
, h( z' z. k6 s( i6 I -q 退出 7 J$ C& F& o0 M& b" |
h9 O, k0 z( k K- T/ t- n
然后运行
1 z) Q5 N3 z6 Y6 K0 i6 @* o6 F$ l& Y; q5 C' J
FDISK/MBR(重置硬盘引导扇区的引导程序),再重新启动电脑就行了。
- y6 D" n% D1 A5 l& f
' j8 k; n3 C8 w+ t$ f 怎么样?用这种方法处理够简单的吧?而且这种方法还有一个好处就是可以保住盘上的数据!如果你不需要保数据的话,还有更加简单的处理方法:
6 z1 L+ i; F w6 ^8 J
% o+ V7 l$ Z! } 方法二:巧设BIOS,用DM解锁
^4 {+ B; T8 p6 f8 k; g
6 T; R$ C' L: R6 g# r 大家知道DM软件是不依赖于主板BIOS的硬盘识别安装软件,(所以在不能识别大硬盘的老主板上也可用DM来安装使用大容量硬盘)。就算在BIOS中将硬盘设为“NONE”,DM也可识别并处理硬盘。 9 ~9 h, _# b: c
- g1 T( m4 M( P1 U* [ 首先你要找到和硬盘配套的DM软件(找JS要或去网上荡),然后把DM拷到一张系统盘上。接上被锁硬盘,开机,按住DEL键,进CMOS设置,将所有IDE硬盘设为NONE(这是关键所在!),保存设置,重启动,这时系统即可 " G3 T8 b- w l9 }
* H5 @; H% L$ m7 r, q% u( Q “带锁”启动。启动后运行DM,你会发现DM可以绕过BIOS,识别出硬盘,选中该硬盘,分区格式化,就OK了。这么简单?不过这种方法的弱点是硬盘上的数据将全部丢失。
点击图标进入精品网摘收藏 欢迎大家加入网络收藏夹