首页 安全基础 网络安全 安全协议 病毒分析 防火墙 OS安全 无线安全 Web安全 PKI与PMI 入侵检测 经典案例
安全审计 设备安全 安全管理 安全标准 法律法规 隔离网闸 DB安全 XML安全 开源项目 资源下载 安全论坛 备份恢复
 当前位置:首页>>设备安全>>其它设备>>正文
硬盘加密--解析二
文章出处:www.yestar2000.com 作者:kingcaiyao   发布时间:2004-09-08   点击:0
 

    作者:kingcaiyao 在对硬盘主引导记录熟悉之后,就可以编出很多种硬盘加密程序(完全取决于你自已的需要),随着硬盘容量越来越大,其实我们可以将硬盘分为两个盘,一个是C盘,一个是D盘,平时将C盘重要的文件拷贝至D盘,并将D盘加锁,这样当C盘受到破坏时,就可以解锁D盘,将D盘上存储的文件恢复过来,我下面的程序就是以这一原理来编写的,请看代码:
Announcement:You can use any editor to edit source codes,such as Notepad,QE,Edit and so on.
Source Codes:
data segment
FQB DB 512 dup(0);To define a buffer,which will be used to store harddisk's MBR
MESSAGE1 DB 0DH,0AH,"C------------LOCK C"
DB 0DH,0AH,"D------------LOCK D"
DB 0DH,0AH,"E------------Exit"
DB 0DH,0AH,"Enter your selection!$"
MESSAGE2 DB 0DH,0AH,"OK!$"
MESSAGE3 DB "NOT FOUND DRIVE D!$"
ERROR DB "ENTER ERROR!$"
IOERROR DB "HARDDISK I/O ERROR!$"
CXD DW 0
data ends
stack segment
DB 512 dup(0)
stack ends
code segment
assume cs:code,ds:data,ss:stack
START:
mov AX,0201
mov BX,OFFSET FQB
mov CX,0001
mov CXD,CX
mov DX,0080
INT 13;Read Main Boot Record,which is in 0 Header,0 Cylinder,1 Sector
JB ERR
MOV DX,OFFSET MESS1
MOV AH,9
INT 21
AA0: ;Accept user's enter
MOV AH,1
INT 21
CMP AL,'E';Exit
JZ EXIT
CMP AL,'e';Exit
JZ EXIT
CMP AL,'C';Lock Drive C
JZ LockC
CMP AL,'c';Lock Drive C
JZ LockC
CMP AL,'D'
JZ LockD;//Lock Drive D
CMP AL,'d'
JZ LockD;//Lock Drive D
LEA DX,ERROR;Enter Error
MOV AH,9
INT 21
JMP EXIT
LockC:
MOV AH,55H
CLD
MOV SI,OFFSET FQB
MOV DI,SI
MOV CX,01FE
AA1:
LOADSB
XOR AL,AH
ROL AH,1
STOSB;//Encrypt Partition-Table
LOOP AA1
AA3:
MOV AX,0301
MOV BX,OFFSET BUF
MOV CX,CXD
MOV DX,0080
INT 13
JB ERR
LEA DX,MESSAGE2
MOV AH,9
INT 21
MOV AX,0040;Reset
MOV DS,AX
MOV AX,1234
MOV SI,0072
MOV [SI],AX
JMP FFFF:0000
INT 20
LockD:
CMP BYTE PTR [BUF+1D0],0
JNZ AA2
MOV DX,MESSAGE3;No Drive D
MOV AH,9
INT 21
JMP EXIT
AA2:
MOV AX,0201
MOV BX,OFFSET BUF
MOV CX,WORD PTR [BUF+1D0];Read Logic Drive D Partition-Table
MOV DX,0080
INT 13
JB ERR
JMP LockC
ERR:
MOV DX,OFFSET IOERROR
MOV AH,9
INT 21
EXIT:
MOV AH,4CH
INT 21

code ends
end start

上面的程序适合于只有两个分区的硬盘,不过程序也可以改进成多个分区的硬盘。在注释RESET处是热启动的代码,即交1234送至偏移地址0040:0072处,然后再跳转到FFFF:0处,即可以进行热启动。

 

 

作者:
[返回顶部↑]  [推荐好友] [查看评论]  
用户名: 新注册) 密码: 匿名评论 [查看评论]  发表评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 
↑文章搜索
  关键字:  
  范  围:  
  开始搜索  
※相关文章※
 

◎ 硬盘简单加密.
◎硬盘引导型故障分析及排除
◎也谈硬盘还原卡的破解
◎标准网络设备的默认密码

 
※热点文章※
  ·硬盘引导型故障分析及排除
·也谈硬盘还原卡的破解
·标准网络设备的默认密码
· 硬盘简单加密.
· 硬盘加密----解析
 

关于我们 | 征搞启示 | 版权信息 | 联系我们 | 友情链接

版权所有:中国信息安全组织 © 2003-2005 Power by DedeCms