怎样用VC限制软件的试用次数

13810390750

13810390750

2016-02-19 20:12

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享怎样用VC限制软件的试用次数吧。

软件试用次数的限制有很多种方法,其关键是把次数这个值存储在哪 里。这里介绍一种方法,通过改变文件 的时间来存储试用次数,从而限制软 件的试用。

一、通过改变文件时间来限制软件的试用次数

在MS-DOS中,文件的时间是 通过一个16位的值来保存的,位 15~11用来保存小时数,位10~5用 来保存分钟数,位4~0用来保存秒钟 数。这个16位的值正好可以被我们用 来保存试用次数。例如,在下面的示例 程序中,笔者就使用了保存分钟数的 位来保存试用次数。运行一下示例程 序,我们可以看到,只是文件时间的分 钟数加了1,一般人很难察觉,这种方 法有比较好的隐蔽性。

二、示例程序中所涉及的中断

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

1.中断21H的功能3DH

用途:打开文件用于读。写或补 充。
调用寄存器:AH=3DH,AL=00H,DS:DX=文件名;
返回寄存器:CF 复位--成功,AX=文件把柄。
CF 置位--出错,AX=错误代码。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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 
#include 
#include 
int count( )
{
union REGS inregs,outregs;
strut SREGS segs;
unsigned handle;
unsigned times;
/ * 打开文件 * /
inregs.h.ah =0x3d;
inregs.h.al =0;
scgread(& segs);
inregs.x.dx ="test.exe";
intdosx(& inregs, & outregs, & segs);
if(outregs.x.cflag) return(0);
else
{
/ * 读取文件日期时间 * /
handle = Outregs.x.ax;
inregs.x.ax = 0x5700;
inregs.x.bx = handle;
intdosx(& inregs, & outregs, &segs);
times = (outregs.x.cx &0x7e0) 5;
if(times 40)/ * 试用次数可以通过改变此处的'40'来实现 * /
{
inregs.x.ax = 0x5701;
inregs.x.bx = handle;
inregs.x.cx = outregs.x.cx + 0x20; / * 试用次数计数 * /
inregs.x.dx = outregs.x.dx;
intdosx(& inregs, & outregs, & segs); / * 重置日期时间 * /
return(2);
}
else return(1);
/ * 关闭文件 * /
inregs.h.ah = 0x3e;
inregs.x.bx = handle;
intdosx(& inregs, & outregs, & segs);
}
}
main()
{
int flag;
flag = count();
if(flag==0) printf("此软件为试用版,请勿任意修改! n");
if(flag==1) printf("此软件为试用版,您的试用次数已满!");
if(flag==2) printf("此软件为试用版,欢迎试用!");

展开更多 50%)
分享

猜你喜欢

怎样用VC限制软件的试用次数

编程语言 网络编程
怎样用VC限制软件的试用次数

怎样用photoshop软件制作图片

电脑网络
怎样用photoshop软件制作图片

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

怎样用盐?

生活常识
怎样用盐?

怎样用味精?

生活常识
怎样用味精?

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

眼膜怎样用 眼膜怎样用效果好

眼膜 面膜
眼膜怎样用 眼膜怎样用效果好

怎样用醋美容

美容
怎样用醋美容

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

MAC系统QQ输入法切换简体/繁体的方法

MAC系统QQ输入法切换简体/繁体的方法

VC下摄像头视、音频采集及回放技术

VC下摄像头视、音频采集及回放技术
下拉加载更多内容 ↓