软件试用次数的限制
软件试用次数的限制有很多种方法,其关键是把次数这个值存储在哪里。本文介绍一种方法,通过改变文件的时间来存储试用次数,从而限制软件的试用。 一、通过改变文件时间来限制软件的试用次数 在MS-DOS中,文件的时间是 通过一个16位的值来保存的,位 15~11用来保存小时数,位10~5用 来保存分钟数,位4~0用来保存秒钟数。这个16位的值正好可以被我们用来保存试用次数。例如,在下面的示例程序中,笔者就使用了保存分钟数的位来保存试用次数。运行一下示例程序,我们可以看到,只是文件时间的分钟数加了1,一般人很难察觉,这种方法有比较好的隐蔽性。 二、示例程序中所涉及的中断 1.中断21H的功能3DH 用途:打开文件用于读。写或补充。 调用寄存器:AH=3DH,AL=00H,DS:DX=文件名; 返回寄存器:CF 复位--成功,AX=文件把柄。 CF 置位--出错,AX=错误代码。 2.中断21H的功能3EH 用途:强迫清除所有缓冲区,更新目录,使文件把柄无效。 调用寄存器:AH=3EH,BX=文件把柄; 返回寄存器:CF 复位--成功,AX被破坏, CF 置位--出错,AX=错误代码。 3.中断21H的功能57H、子功能00H 用途:读出文件被最后修改的日期和时间。 调用寄存器:AX=5700H,BX=文件把柄; 返回寄存器:CF 复位--成功,CX=文件时间, DX=文件日期, CF 置位--出错,AX=错误代码。 4。中断21H的功能57H、子功能01H 用途:将文件最后被修改过的日期和时间信息变 成指定值。 调用寄存器:AX=5701H,BX=文件把柄,CX= 新时间,DX=新日期; 返回寄存器:CF 复位--成功, CF 置位--出错,AX=错误代码。 三、示例程序 #include <sidio.h> |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |