硬盘加密--解析二

原创 2003年02月11日 11:50:00

在对硬盘主引导记录熟悉之后,就可以编出很多种硬盘加密程序(完全取决于你自已的需要),随着硬盘容量越来越大,其实我们可以将硬盘分为两个盘,一个是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处,即可以进行热启动。

一个聚合的加解密工具类

字符串,byte[],文件等对象的加密和解密(md5,base64,rsa,aes,des,sha),是开发当中必不可少的操作。这里仅基于不同方式的加解密实现,为方便使用固聚合为一个工具类使用,且代码...
  • u013523377
  • u013523377
  • 2016年10月09日 15:08
  • 2285

面向Windows的文件透明加解密解决方案(3)——透明加解密驱动程序二

3.3关键技术详解 对于用户的文件操作请求,Windows 用户层中对文件的各种操作映射到微过滤驱动中就转化为类型为Create,Read,Write 和Close 等的I/O 操作,因此只要对这些...
  • wxyyxc1992
  • wxyyxc1992
  • 2014年05月31日 19:53
  • 4207

加密与解密-基础知识

大端小端: 大端:高位字节存入低地址,低位字节存入高地址,依次排列 小端:低位字节存入低地址,高位字节存入高地址,反序排列 虚拟内存的实现方法和过程如下 ...
  • zang141588761
  • zang141588761
  • 2017年06月14日 16:04
  • 161

硬盘加密----解析三

硬盘加密--解析三上一篇文章解析了硬盘上有两个分区的加密过程,下面的程序将允许有N个分区的加密过程:Source Codes:data segment  FQB DB 512 dup(0);a buf...
  • kingcaiyao
  • kingcaiyao
  • 2003年02月11日 14:13
  • 1498

如何用硬盘序列号加密共享软件?

一些软件开发者为辛辛苦苦开发出的的软件如何不被盗版而发愁,他们想尽方法来为软件加壳,下面介绍一种采用硬盘物理序列号进行加密软件的方法.1.采用一外部二进制文件用于保存要注册用户的硬盘序列号.需要软件开...
  • PentiumMMX
  • PentiumMMX
  • 2007年05月04日 19:41
  • 1884

PE文件RVA-VA-Offset

VA    |   Memory    |           Offset  | Disk Files  |          |             |                   ...
  • ooyyee
  • ooyyee
  • 2017年01月12日 12:05
  • 413

解密系列(系统篇_PE结构详解笔记1)

从某种意义上讲,可执行文件的格式是操作系统本身执行机制的反映。掌握可执行文件的数据结构及其一些运行机理,也是研究软件安全的必修课。     EXE文件和DLL文件之间区别完全是语义的,因为它们使用相...
  • ccrookie
  • ccrookie
  • 2015年06月06日 09:56
  • 506

Linux下磁盘加密——luks

Linux下磁盘加密          LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为...
  • kumu_Linux
  • kumu_Linux
  • 2012年06月25日 12:09
  • 12602

LUKS:Linux下磁盘加密

原文 LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准,它不仅能通用于不同的Linux发行版本,还支持多用户/口令。因为它的加密密钥独立于口令,所以如果口...
  • cnhome
  • cnhome
  • 2017年06月15日 10:25
  • 517

基于文件过滤驱动的透明加解密

文件过滤驱动 一、文件透明加解密 关键字:透明、文件过滤驱动、加密标识,缓存   文件过滤驱动最重要的两点是搞定加密标识和缓存管理 1、透明概念: 透明指的是用户在...
  • anda0109
  • anda0109
  • 2015年10月20日 14:01
  • 2395
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:硬盘加密--解析二
举报原因:
原因补充:

(最多只允许输入30个字)