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,''
writeln(f,''if exist .\file.exe goto loop'');
writeln(f,''
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。