共享軟件作者中有很多是使用Delphi進(jìn)行編程的,大家都不希望自己的軟件被注冊(cè)機(jī)破解吧,這里交給大家一個(gè)好方法,如果程序運(yùn)行的時(shí)候發(fā)現(xiàn)有注冊(cè)機(jī)之類的程序就自己把自己刪除,這樣就可以在一定程度上防止注冊(cè)機(jī)。
程序自己刪除自己的代碼如下所示:
procedure KillSelf;
var
f:textfile;
begin
assignfile(f,''./killme.bat''); //在程序目錄下新建一個(gè)bat文件
rewrite(f); //開始向這個(gè)bat文件寫入內(nèi)容
writeln(f,''@echo off'');
writeln(f,'':loop'');
writeln(f,''
writeln(f,''if exist ./file.exe goto loop'');
writeln(f,''
closefile(f); //寫入內(nèi)容結(jié)束
winexec(''./killme.bat'', SW_HIDE); //調(diào)用刪除自己bat文件,
close; //關(guān)閉自己
end;
我們還可以用Delphi調(diào)用Bios的信息用在共享軟件的注冊(cè)碼加密上面,當(dāng)然,不能只用這個(gè)Bios的信息作注冊(cè)碼,這樣是非常容易被破解的,你自己需要設(shè)計(jì)一系列算法,來(lái)對(duì)Bios信息進(jìn)行加密。詳細(xì)代碼如下:
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。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注