论文天下|会计论文|管理论文|计算机论文|医药学论文|经济学论文|法学论文|社会学论文|文学论文|教育论文|理科论文|工科论文|艺术论文|哲学论文|文化论文|外语论文|格式论文
论文天下
计算机应用论文  计算机理论论文  计算机网络论文  电子商务论文  软件工程论文  操作系统论文  通信技术论文   
用Windows终端仿真程序实现微机远程文件传送(1)
  有些硬盘防拷贝是通过对硬盘FAT表中的簇链的检测来实现的,这与本文所推荐的方法原理一样,都是通过检测文件位置信息是否被改变来判断文件是否已被移动的。但前者涉及到定位FAT表及文件所在目录等繁琐工作,而且还和硬盘型号及格式化信息有关,编程很不方便。本文所介绍的方法则不然,它直接与操作系统打交道,取出操作系统内核中现成的数据,即利用DS系统文件表(SYSTE FILE TABLE 简称SFT)来实现防拷贝。
当您打开硬盘上的一个文件并移动读写指针时,DS会时刻记录读写指针所对应的硬盘位置。一个稍大些的文件在硬盘上要占用多个簇,这些簇并不是连续的,而是由操作系统一般按照“就近循环分配”原则为该文件分配的,这些簇的绝对簇号具有一定的随机性,在FAT表中形成一个簇链。移动读写指针超过一个簇的大小时,则所对应的绝对簇号也要变化。只要该文件没有被移动过(拷贝或整理硬盘),这些簇号就是固定的。一旦该文件被移动了,根据DS簇分配原则,这些对应的簇号就会改变。由此,我们可以检查特定的文件指针所对应的绝对簇号是否改变了来判断该文件是否已被非法移动。
SFT是DS在文件管理上的一个很重要的数据结构。只要DS开始引用一个文件或设备,它必然要建立一个SFT。该表记录了文件设备名、目录特性、设备特性、文件大小和位置、DDPB(块设备)或设备驱动程序标题(字符设备)的地址,以及打开模式等有关文件的存储、访问和操作的管理信息。其中有几项数据可以用来确定文件在硬盘上的位置,它们是:文件读写指针所对应的绝对簇号,目录项的相对索引号(即目录项在目录扇区中的序号),目录项所在扇区的扇区号。
那么怎样利用这几项数据防拷贝呢?这里所说的防拷贝是指可以拷贝但拷贝后的文件不能执行或不能被使用,包括数据文件和可执行文件。若是可执行文件,则其本身包括一段检测代码,用以判断其本身是否已被非法移动。若是数据文件,则在使用该数据文件的可执行文件中包括一段检测代码,来判断该数据文件是否已被非法移动。当第一次将一个文件装入硬盘后,它所占有的硬盘的簇号已是固定的了。这样我们就可以作一个加密程序,在该程序里,约定一个或多个秘密的值N,N1,N2…,然后将文件指针分别移动到N或N1,N2…,在SFT中取出那几项硬盘位置数据,再用约定的秘密算法加以运算,就得到了包含被加密文件位置信息的“钥匙”,将它存于另一个文件中或干脆附加在被加密文件的末尾。在使用该文件的可执行文件的检测代码中,按同样的算法取得当前的“钥匙”,与先前保存的“钥匙”相比较,若相等,则说明文件没有被移动过,程序正常执行,否则,说明文件已不在先前的位置了,即已被非法移动过了,则程序异常执行。
我们先看看DS系统中SFT的具体结构,系统有多个SFT,这个数目取决于NFIG.SYS文件中的FILES=N的N值。在DS4.0,5.0,6.0中,每个SFT的长度是3BH。多个SFT形成SFT数组,并不是整个系统的所有SFT组成一个连续的大数组,而是可能有多个SFT数组,每个数组由一个控制块管理,它们之间由指针连接。每个SFT数组的结构如下:
偏移量 长度 说明
00H DRD 指向下一个SFT数组的指针
04H RD 本SFT数组内的SFT数目
06H nBYTEs 由SFT组成的数组(n=本数组中SFT数目*每个SFT所占字节数)
我们还必须知道第一个SFT数组所在的地址。这可由DS功能调用52H先取得DS的多重表指针,在多重表偏移量04H处即是一个长指针,它即指向第一个SFT数组的头部。这样剩下的SFT数组的位置也就知道了。
每当DS打开一个新文件时,DS就从这些SFT数组中找一个空闲的SFT项,分配给该文件。以后DS就用此SFT控制访问该文件。那么怎样确定一个刚打开的文件所对应的SFT项是SFT数组中的第几项呢?我们利用文件句柄和文件句柄表。每个进程都有一个文件句柄表,当我们打开一个文件时可得到该文件的句柄,它是一个整数,设为,则在文件句柄表中的第项即为该文件的SFT表项在SFT数组中的位置。那么怎样找到文件句柄表呢?我们先用DS功能调用51H得到程序段前缀(PSP)的地址,在PSP偏移34H处即是指向该进程文件句柄表的双字指针。

未完...点击下方链接下载完整文档

用Windows终端仿真程序实现微机远程文件传送(1)

有些硬盘防拷贝是通过对硬盘FAT表中的簇链的检测来实现的,这与本文所推荐的方法原理一样,都是通过检测文件位置信息是否被改变来判断文件是否已被移动的。但前者涉及到定位FAT表及文件所在目录等繁琐工作,而且还和硬盘型号及格式化信息有关,编程很不方便
  • 上一篇:网络课程学习支撑环境的设计(1)
  • 下一篇:基于网格的面向专业内容的Web信息检索体系结构(1)
  • 基于信息的三个空间理论述要(1)
    发展中国的体育远程教育发展中国
    网络文化建设的对策研究
    对胶带机控制系统的改造
    关于校园网的建设方案(二)
    顺德信息产业的问题与思考
    谈网络语言与中学作文教学
    复杂网络交叠团模糊分析与信息挖
    医院信息化建设中无线网络技术的
    浅析网络零售市场价格竞争及对策
    武汉区域科技创新网络建设探析
    图书馆个性化在线知识服务研究
    网络技术在思想政治课教学中的应
    对多媒体及网络技术在外语教学中
    谈网络时代的病毒与网络安全
    网络虚拟仿真实验中心建设研究
    Windows下多串口的配置与使用
    集中监控系统单元的多媒体仿真
    网络化数控仿真环境中的同步机
    完整的Windows 2000服务配置
    Windows 2000系统编程——进程
    下一代网络中的PSTN/ISDN仿真
    应用API函数实现基于Windows平
    用Ghost制作万能WindowsXP系统
    下一代网络中的PSTN/ISDN仿真
    | 设为首页 | 加入收藏 | 联系我们 | 论文发表

    Copyright 2006-2020 © 论文天下 All rights reserved 本站所有内容均由SPider自动索引,如有侵权请联系QQ:2486851删除