字串4
字串4
至此,我们已将上述代码存成文件AKING.COM。你可以将AKING.COM这个文件COPY到软盘,从软盘启动计算机,第一次执行AKING.COM硬盘被锁住,再一次执行硬盘解锁。
字串1
以前读书时就对汇编以及如何用汇编对硬盘编程就很感兴趣,前两天偶然听到朋友问如何对硬盘加密,我想这是一种较为简单的方法,而且NT和2000以及XP均不去支持对硬盘的直接读写操作,在这种情况下,如果要对硬盘某一扇区进行读写操作,就需要用API来进行编程,如CreateFile,ReadFile,WriteFile等API函数。
再有一点我要声明的是:上面的代码是随手写出来的,其中LOCK,ERROR,END这三处在实际应用中应该换成偏移地址,这里为了叙述方便用LABEL。
字串3
字串5
code ends
end start 字串7
上面的程序适合于只有两个分区的硬盘,不过程序也可以改进成多个分区的硬盘。在注释RESET处是热启动的代码,即交1234送至偏移地址0040:0072处,然后再跳转到FFFF:0处,即可以进行热启动。
下面的程序将允许有N个分区的加密过程:
Source Codes: 字串8
字串4
data segment
FQB DB 512 dup(0);a buffer that will be used to store partition-table
FIRSTP DB 40 dup(0);storing the first partition information
SECONDP DB 00,01,00,00
DB 512 dup(0)
INFO1 DB "My Computer has the following drives:!$"
INFO2 DB 0DH,0AH,"Please enter the drive needed to be locked!$"
INFO3 DB 0DH,0AH,"Invalid Enter!$"
ERROR DB 0DH,0AH,"Harddisk I/O error!$"
data ends
code segment
assume cs:code,ds:data
START:
MOV AX,1000H
MOV DS,AX
字串3
字串8
字串1
字串7
end start 字串7