如何将让程序读写磁盘的引导扇区?(100分)

  • 主题发起人 主题发起人 @rosee
  • 开始时间 开始时间
@

@rosee

Unregistered / Unconfirmed
GUEST, unregistred user!
公司要求为系统作钥匙盘
我想这样作
procedure TForm1.Button2Click(Sender: TObject);
var inifile:tinifile;
pass:string;
temp:string;
begin
inifile:=tinifile.Create('a:/s.ini');
temp:=inifile.ReadString('name','pasword',pass);
if temp='111' then
begin
showmessage('welcom you !');
beep();
end;
end;
现遇到几个实际问题:
1,.ini文件用户可以在盘上打开,而现在要求是要是盘的文件不能叫用户随便打开,我
该如何做呢?
2,我如何判断用户的软驱或光驱里有盘还是没有盘呢?



来自:linqi07, 时间:2002-3-8 21:50:00, ID:970894
应该把加密信息写在钥匙盘的引导区上。而不是存成文件!



 
怎么没人回答?
 
恳求高手帮帮我呀?
 
高手呢?
 
是读软盘呀,都不知道呀
 
README.TXT

一、文件列表

Keymaker.exe 试用密钥盘生成程序, 运行环境: DOS6.22 或 WIN9X 下的纯 DOS 状态

Locking.vxd 虚拟设备驱动程序, 请拷入 Windows9X 的 system 目录中,NT 中不需要。

Locking.h
Locking.lib VC++_6.0 环境下32位库文件: 判断密钥盘是否正确并注册等的软件模块
使用方法: 参见 Locking.h 内容及有关书籍

Locking.dll 判断密钥盘是否正确并注册等的动态链接库,
供 VC、VB、VF、DELPHI、PB、C++ Builder、Authorware 等程序调用

VC60 目录 在VC60中调用 LIB 和 DLL 的例子源程序

VB60 目录 在VB60中调用 Locking.dll 中函数的例子源程序

VF60 目录 在VFoxPro60中调用 Locking.dll 中函数的例子源程序

DELPHI5 目录 在DELPHI50中调用 Locking.dll 中函数的例子源程序

PB70 目录 在PowerBuilder70中调用 Locking.dll 中函数的例子源程序

C++Builder50 目录 在Borland C++ Builder50中调用 Locking.dll 中函数的例子源程序

Authorware 目录 在ATHWARE中调用 Locking.dll 中函数的例子源程序

Register.exe 32位判断密钥盘是否正确并注册等的程序,
运行环境: Windows2000、WindowsNT、Windows98、Windows95


二、Locking.lib 提供的函数等

int Register(int rw); //检测密钥盘并注册调用函数,操作正确返回值为零,否则为 -1。
//rw=0 检测密钥盘并注册。
//rw=1 检测密钥盘并撤消注册。
//rw=2 只检测密钥盘不注册。

int Testkey(int Idate,int Ok_No);
//检测软件是否注册函数,已注册返回值为零。,否则为 -1。
//参数:
Idate 软件不注册可试用的天数,最大值为 99
Idate<=0 时软件不提供试用功能
Ok_No=0 时,试用期过后,把系统时间改回来,可继续试用
Ok_No!=0 时,试用期过后,把系统时间改回来,也不能使用

//在试用期间,为防止用户始终修改系统时间后,再运行程序。
//模块中同时对软件使用次数进行了限制,若超过限制次数 5*Idate,
//软件同样不能运行,您可根据您软件使用的频率要求设置限制的次数

//具有计数功能,当软件使用次数大于一定数值后(这里为10次),
//会自动要求用户重新插入密钥盘,重新注册。

int testlock[10]; //软件已注册,此数组各元素的值分别
//为 0,否则为随机数。
//在应用程序中调用 Testkey(void) 后,穿插
//使用或判断这个数组,能有效防止程序被软
//解密。

三、Locking.dll 提供的函数等

int _stdcall TKRegister(int rw);
//检测密钥盘并注册调用函数,操作正确返回值为零,否则为 -1。
//rw=0 检测密钥盘并注册。
//rw=1 检测密钥盘并撤消注册。
//rw=2 只检测密钥盘不注册。

int _stdcall Testkey(int Idate,char * testlock,int Ok_No);
//检测软件是否注册函数,已注册返回值为零。,否则为 -1。
//参数:
Idate 软件不注册可试用的天数,最大值为 99
Idate<=0 时软件不提供试用功能
Ok_No=0 时,试用期过后,把系统时间改回来,可继续试用
Ok_No!=0 时,试用期过后,把系统时间改回来,也不能使用

//在试用期间,为防止用户始终修改系统时间后,再运行程序。
//模块中同时对软件使用次数进行了限制,若超过限制次数 5*Idate,
//软件同样不能运行,您可根据您软件使用的频率要求设置限制的次数

//在调用Testkey(testlock)前,要定义 char testlock[10];
//软件已注册,此数组十个元素的值分别
//为 0,否则为随机数。
//在应用程序中调用 Testkey(Idate,testlock,Ok_No) 后,穿插
//使用或判断这个数组,能有效防止程序被软解密。

//可具有计数功能,当软件使用次数大于一定数值后(这里为10次),
//会自动要求用户重新插入密钥盘,重新注册。

//可再增加一设置软件能同时在多台机器上安装注册的参数 int jiqishu。


int _stdcall Tkey(int Idate,int Ok_No)
//检测软件是否注册函数,已注册返回值为零。,否则为 -1。
//参数:
Idate 软件不注册可试用的天数,最大值为 99
Idate<=0 时软件不提供试用功能
Ok_No=0 时,试用期过后,把系统时间改回来,可继续试用
Ok_No!=0 时,试用期过后,把系统时间改回来,也不能使用

//在试用期间,为防止用户始终修改系统时间后,再运行程序。
//模块中同时对软件使用次数进行了限制,若超过限制次数 5*Idate,
//软件同样不能运行,您可根据您软件使用的频率要求设置限制的次数

//具有计数功能,当软件使用次数大于一定数值后(这里为10次),
//会自动要求用户重新插入密钥盘,重新注册。
//与上一个函数的区别就是不带指针参数 testlock,方便调用。
//最好用上一个函数:
int _stdcall Testkey(int Idate,char * testlock,int Ok_No);

//可再增加一设置软件能同时在多台机器上安装注册的参数 int jiqishu。

四、软件模块的建议使用方法

方法一:

1、在您的安装软件中调用检测密钥盘并注册的函数:Register(0)(或TKRegister(0)),返回值为零,继续安装;为 -1,说明密钥盘错误或注册失败,可中断安装。请一定先把 Locking.vxd 拷入 Windows9X 的 system 目录中,再调用上述函数。

2、在您的卸载软件中调用检测密钥盘并撤消注册的函数:Register(1)(或TKRegister(1)),返回值为零,撤消注册;为 -1,说明密钥盘错误或撤消注册失败。

3、在您的软件中调用检测软件是否注册的函数 Testkey(30,testlock,0)(或Tkey(30,0)),返回值为零,说明软件已注册,软件可继续运行;否则软件没有注册,应中断您的软件。建议在软件刚启动时就调用这个函数。

4、在调用检测软件是否注册的函数 Testkey(30,testlock,0) 后,穿插使用或判断数组 testlock[10],能有效防止程序被软解密。


方法二:

1、在您的安装软件中调用(或不调用任何函数)只检测密钥盘不注册的函数:Register(2),返回值为零,继续安装;为 -1,说明密钥盘错误,可中断安装。

2、建议在您的软件中添加两个菜单:“注册软件”和“撤消注册”,以方便用户注册或撤消注册到另一机器安装;并分别调用:Register(0) 和Register(1) 函数,返回值为零,说明注册或撤消注册成功,否则为失败。

3、在您的软件中调用检测软件是否注册的函数 Testkey(30,testlock,0),返回值为零,说明软件已注册,软件可继续运行;否则软件没有注册,应中断您的软件。建议在软件刚启动时就调用这个函数。

4、在调用检测软件是否注册的函数 Testkey(30,testlock,0) 后,穿插使用或判断数组 testlock[10],能有效防止程序被软解密。

在打包您的软件产品时,要同时把 Locking.vxd 打包进去,在安装软件时,要首先把它拷入 Windows9X 的 system 目录中。


四、本加密软件特点

1、使用本加密注册模块加密的软件,用户只能在一台机器上安装使用。若软件已在一台机器上安装注册成功,若再在其它的机器上安装注册就不能成功了。可设置软件能同时在多台机器上安装注册。

2、注册或撤消注册时需要在软驱中插入打开写保护的密钥盘,注册后的软件就不需要密钥盘就可正常运行了。可设置注册后的软件在运行一定次数后,重新要求用户在软驱中插入打开写保护的密钥盘并注册。

3、若用户想把软件安装到另一机器上运行,必须先在原注册机器上撤消注册,这样原机器上的软件就不能运行了,并可在别的一个机器上安装注册。

4、若安装在机器上的软件被损坏,可重新安装注册软件;若系统崩溃,可重新安装系统及软件,重新注册。软件仍能在这台机器上注册。

5、若用户硬盘万一损坏,软件就不能注册了。可通过更换密钥盘,或寄去一软件让用户销去密钥盘上原注册信息(当然只能运行一次或几次),或要求原加密模块能在两台或多台机器上注册即可。







泰山医学院计算中心 271000 张裕飞
http://www.Zlocksoft.com
e-mail: Zlocksoft@Zlocksoft.com
电话:0538-6222485
13001773563
 
狼牙啊,记得vrv就是这么做的。
为了防止密钥盘损坏,我用HD-COPY考了两张。我发现我至少可以在三台机器上装了。
VRV很好用,我用的又是正版常常向朋友们推荐,我的光盘只得外借,密钥盘就又被考了好多张。
最终,我的一盒原装SONY软盘变了了没有。

 

Similar threads

后退
顶部