知识大全 用修改文件时间的方法来加密文件

Posted 时间

篇首语:有志者事竟成,破釜沉舟,百二秦关终属楚。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用修改文件时间的方法来加密文件相关的知识,希望对你有一定的参考价值。

 [摘要]   本文介绍了在Delphi中利用系统函数和Windows API函数配合Delphi中的DataTimePicker组件来获取和修改文件的时间信息的方法 以达到软件信息的简单加密

  谈到文件加密已经有很多方法了 但传统的文件型加密方法都存在一些不足 例如 让人头痛的密码技术 复杂的全文加/解密算法 会产生垃圾文件的暗贴技术等等 这里我向大家介绍一种新的文件加密思路 在Win / 中选定一个文件后单激鼠标右键可以查看文件的属性 其中会列出该文件的创建时间 修改时间和访问时间 这些信息的设置一般都是由操作系统(也就是由Dos/Windows等等)自动完成的 不会让用户轻易修改 利用这一特性就可以实现很隐蔽的加密技术

  加密原理 用特定的时间信息替换原来的文件时间信息

  解密原理 获取已加密文件的时间信息与特定时间信息比较 如相同则说明该文件是合法的 如不同则说明该文件属于过期或盗版软件

  以上简单介绍了文件时间属性的修改方法 利用这种方法可以起到简单的软件加密 例如 假设某个软件或游戏执行完后存储了一些存档文件 则操作系统会自动设置该文件的修改时间 那么稍有经验的用户就可以用Windows中的 查找文件 功能找到最后被修改的文件 如果该文件是记录密码或用户信息的文件(实际上很多情况都是这样) 后果简直不堪设想 另外 如果适当设置文件的创建 修改时间和访问时间 例如 保持三者之间为一定的时间间隔就可以作为加密的一种好手段 运行主软件时只要动态的检测一下文件时间是否满足特定的要求就知道该软件是否过期或属于盗版软件 从而达到加密和保护软件的目的 并且不会产生垃圾文件

  以下介绍具体实现方法

  利用Delphi中的FindFirst函数可以得到一个文件的属性记录 该记录中的FindData域中就记载了详细的文件时间信息 FindData中的时间信息不能直接得到 利用本文源程序中的CovFileDate函数可以完成文件时间格式的转换

  设置文件的时间要复杂一些 利用Delphi中的DataTimePicker组件来辅助完成这一复杂的操作 可以利用四个DataTimePicker组件来完成文件创建时间和修改时间的设置 注意 文件的访问时间用修改时间来代替

  使用下面的例子时 请在您的Form上添加四个DataTimePicker组件 其中第一和第三个DataTimePicker组件中的Kind设置为dtkDate 第二个和第四个DataTimePicker组件中的Kind设置为dtkTime DateMode设置为dmUpDown

cha138/Article/program/Delphi/201311/25080

相关参考

知识大全 用Delphi实现文件加密压缩技巧

用Delphi实现文件加密压缩技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!引 言  在日常中

知识大全 用CNG加密文件的简单方法

用CNG加密文件的简单方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  简介 &nb

知识大全 Java文件加密-spring属性文件加密

Java文件加密-spring属性文件加密  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  pac

知识大全 如何将pbb转化为普通文件,例如一个加密的视频“xxx.mp4.pbb”文件,我想将它转化为我们普

如何将pbb转化为普通文件,例如一个加密的视频“xxx.mp4.pbb”文件,我想将它转化为我们普用屏幕录像软件录一下就行了。如何将MP4文件转化为AMV文件?AMV文件是特定的文件,常用在彩屏MP3

下列关于招标人对已发出的招标文件进行必要的澄清或者修改的说法,正确的是()。

下列关于招标人对已发出的招标文件进行必要的澄清或者修改的说法,正确的是()。A、招标文件要求提交投标文件截止时间至少15日前进行B、投标有效期截止时间至少15日前进行C、提交资格预审申请文件截止时间至

下列关于招标人对已发出的招标文件进行必要的澄清或者修改的说法,正确的是()。

下列关于招标人对已发出的招标文件进行必要的澄清或者修改的说法,正确的是()。A、招标文件要求提交投标文件截止时间至少15日前进行B、投标有效期截止时间至少15日前进行C、提交资格预审申请文件截止时间至

知识大全 用java线程实现批量修改文件名

   /**      *thisprogramTODO    &nb

知识大全 用批处理修改host文件的代码

@echo>>C:\\Windows\\System\\Drivers\\etc\\hosts这样就是换一行写入如果还想换一行就写  复制代码代码如下:  @echo>>C:\

知识大全 我用大白菜PE 为什么修改不了C盘中的系统文件

我用大白菜PE为什么修改不了C盘中的系统文件  以下文字资料是由(本站网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!我用大白菜

知识大全 Oracle数据库中文件加密详解

Oracle数据库中文件加密详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在Oracle数