一个完整的硬盘逻辑锁锁代码。
经过上一次的改进,已经支持输入自定义密码了。使用方法和原来一样
原帖:
硬盘逻辑锁 - 只有输入密码硬盘才会被解锁
http://bbs.fishc.com/thread-43343-1-1.html
自动加锁原理:http://bbs.pediy.com/showthread.php?p=1263142
org 0x7c00;原MBR内容位于 逻辑3扇区密码4扇区
;密码加密方式 所有字符ASCLL相加
start:
mov ax,cs
mov ds,ax
mov ss,ax
mov es,ax
mov sp,0x100
mov bx,0
main:
;读取原内容
mov ax,0x7e00
mov ds,ax
mov bx,0
mov dx,0x1f2
mov al,0x01
out dx,al
mov dx,0x1f3
mov al,0x3;3扇区
out dx,al
inc dx;8-15
mov al,0
out dx,al
inc dx ;16-23
out dx,al
inc dx ;24-27
mov al,0xe0
out dx,al
mov dx,0x1f7 ;读命令
mov al,0x20
out dx,al
mov dx,0x1f7
.waits:
in al,dx
and al,0x88
cmp al,0x08
jnz .waits
mov cx,256
mov dx,0x1f0
.read:
in ax,dx
mov ,ax
add bx,2
loop .read
;显示字符串
mov bp,msg1
mov cx,msg2-msg1
mov ax,0x1301
mov bx,0x0c
mov dl,0
int 0x10
;检测按键
GetKey:
mov bx,0
mov si,0
GetKey_:
mov ax,0xb800
mov ds,ax
mov ax,0
int 0x16
cmp al,0x1b ;Esc键
je Esc_
cmp al,0x8;退格键
je BackSpace
cmp al,0x0d ;回车键
jne GetKey_q
next:
;判断密码
mov cx,si
mov bx,0
mov dx,0
mov si,0
key_js:
mov al,
mov ah,0
add dx,ax
add si,2
loop key_js
mov ax,
cmp ax,dx
je Ks
jne Esc_
Esc_:
mov ch,0
movcl,0x4e
moval,0x00
mov ah,0x07
mov bx,0
_esc:
mov ,ax
add bx,2
loop _esc
mov bx,0
mov si,0
mov ,al
mov ,ah
jmp GetKey
;解除硬盘逻辑锁
Ks:
mov ax,0x7e00
mov ds,ax
mov bx,0
mov dx,0x1f2
mov al,0x01
out dx,al
mov dx,0x1f3
mov al,0x0;0扇区
out dx,al
inc dx;8-15
mov al,0
out dx,al
inc dx ;16-23
out dx,al
inc dx ;24-27
mov al,0xe0
out dx,al
mov dx,0x1f7 ;写命令
mov al,0x30
out dx,al
mov dx,0x1f7
.waits_wr:
in al,dx
and al,0x88
cmp al,0x08
jnz .waits_wr
mov cx,256
mov dx,0x1f0
.write:
mov ax,
out dx,ax
add bx,2
loop .write
;重启计算机
.REST:
mov ax,0xb800
mov ds,ax
mov bx,0
mov byte ,'a'
mov ax,0xffff
push ax
mov ax,0
push ax
retf
GetKey_q:
mov byte ,al
add bx,2
inc si
jmp GetKey_
BackSpace:
mov byte ,0
sub si,1
sub bx,2
jmp GetKey_
msg1 db 'Please Input Password'
msg2 db '.'
msg3 db '*'
msg4 db 'KeyTag'
y_key dw 0x019E ;密码的ASCLL和 需要替换。
times 510-($-$$)db 0
dw 0xAA55**** Hidden Message *****
没人吗???:sad:sad:sad 好文章 无名人贴竟然没人顶?!顶下!!! 好厉害。·········倒是不会玩 好厉害啊 赞一个{:10_256:} 汇编表示要慢慢看{:10_269:} 好厉害的高手 谢谢,支持一下 阿萨德撒打算 感谢分享 kankna 我就看看 看看学习 这个是源码还是模块 感谢,下载研究! {:9_237:} 好棒 下载来研究一下