Delphi知识中心
www.delphi.ee
提供Delphi技术知识
与Delphi程序员共同进步


在线服务QQ:99923144 随时恭候您的光临
首页 基础知识 WIN系统 组件使用 组件开发 数据库 ACTIVEX 多媒体技术 网络技术 关于
文章类别:WIN系统    你尚未登陆,会员功能无法使用,请从 网站首页 登陆。
  编程保护共享软件  
 
Delphi编程保护共享软件

共享软件作者中有很多是使用Delphi进行编程的,大家都不希望自己的软件被注册机破解吧,这里交给大家一个好方法,如果程序运行的时候发现有注册机之类的程序就自己把自己删除,这样就可以在一定程度上防止注册机。

程序自己删除自己的代码如下所示:

procedure KillSelf;

var

f:textfile;

begin

assignfile(f,'.\killme.bat'); //在程序目录下新建一个bat文件

rewrite(f); //开始向这个bat文件写入内容

writeln(f,'@echo off');

writeln(f,':loop');

writeln(f,'del ""'+application.ExeName+'""');

writeln(f,'if exist .\file.exe goto loop');

writeln(f,'del .\killme.bat');

closefile(f); //写入内容结束

winexec('.\killme.bat', SW_HIDE); //调用删除自己bat文件,

close; //关闭自己

end;

我们还可以用Delphi调用Bios的信息用在共享软件的注册码加密上面,当然,不能只用这个Bios的信息作注册码,这样是非常容易被破解的,你自己需要设计一系列算法,来对Bios信息进行加密。详细代码如下:

procedure GetBiosInfo;

begin

lblMainBoardBiosName.Caption :=^I+string(Pchar(Ptr($FE061)));

lblMainBoardBiosCopyRight.Caption :=^I+string(Pchar(Ptr($FE091)));

lblMainBoardBiosDate.Caption :=^I+string(Pchar(Ptr($FFFF5)));

lblMainBoardBiosSerialNo.Caption :=^I+string(Pchar(Ptr($FEC71)));

end;

把这段程序加入到你的程序中,你可以获得一系列主板Bios的信息,其中的lblMainBoardBiosName,lblMainBoardBiosCopyRight,lblMainBoardBiosDate和lblMainBoardBiosSerialNo都是TLabel。

 

在线服务QQ:99923144 Delphi程序员QQ群(139442)
Delphi知识中心 www.delphi.ee 最专业的Delphi技术资料网站