首页 > 编程 > Delphi > 正文

Delphi编程保护共享软件

2019-09-08 23:08:59
字体:
来源:转载
供稿:网友
                                                                                                                                                       
                       

共享软件作者中有很多是使用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。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选