- 80
- 0
- 约2.79万字
- 约 38页
- 2016-11-27 发布于河南
- 举报
机器码
好的。我给你贴出代码来:procedure TKenFrm.FormCreate(Sender: TObject);var Reg:TRegistry; RInt,SizeInt:Integer; FileStr,UNStr,SNStr,RStr1,RStr2:String; SumInt:Integer; Str:String; DllCrcStr,DllStr:String; begin Reg:=TRegistry.Create; Reg.RootKey:=HKEY_LOCAL_MACHINE; DllCrCStr:=E8A316E366BC9B7C; //这个是加过壳的dll的CRC校验值,进行了Des加密. DllStr:=ExtractFilePath(Application.ExeName)+\Ken.dll; if ShlStr(FileCrc32(DllStr))ShlStr(KDD(DllCrCStr,wwwksaiycom)) then//校验dll失败后关闭计算机.// WinExit(EWX_SHUTDOWN or EWX_POWEROFF);//关机函数;调试的时候把这行注释掉,发布的时候激活此行。 ShowMessage(校验失败!);{下面给出方法:首先把自己的软件调试好以后,用FileCrc32取得主程序的CRC校验值,在对这个校验值进行加密,然后把密加结果存放到一个文件里(这里我是举例说明,你也可以把它写到可执行文件里去,源码可以到我们的站点上下载),那么在文件的create事件里用FileCrc32取得当前文件的CRC值,再把您存放在文件里的CRC值取出来解密后进行比较,如果正确那么就执行文件,如果不正确就执行你自己的操作,比如关闭计算机。这里我只是提供了方法} Anti_DeDe();//检测DeDe; SumInt:=0; Edit2.Text:=GetHDID;//取得系列号,每台计算机的系列号是唯一的; //Anti-Debug; if IsSoftIce95Loaded or IsSoftIceNTLoaded or IsTRWLoaded or IsTRWLoaded or IsTRW2000Loaded or IsRegMONLoaded or IsFileMONLoaded or IsBW2000Loaded then begin PostMessage(Application.Handle,WM_CLOSE,0,0);//这里是指当发现调试工具的时候关闭程序本身,也可以设置为关闭计算机; end; //程序自校验;// RInt:=160000;//加壳后的文件大小,壳在压缩包里提供了FSG壳,这个文件的大小你可以加壳后来进行修改,然后在编译的你的软件再加壳就可以发布了; //加壳方法:先打开FSG,然后选择你要加壳的文件即可。// FileStr:=ExpandFileName(ExtractFilePath(Application.ExeName)+\Ken.exe);//这里写上自己的注册文件名;// if Anti_Self(Rint,FileStr)=True then// PostMessage(Application.Handle,WM_CLOSE,0,0); if reg.OpenKey(\SoftWare\Microsoft\KEN,True) then begin RStr1:=Reg.ReadString(UN); RStr2:=Reg.ReadString(SN); end; reg.CloseKey; if (RStr1) and (RStr2) then begin UNStr:=KDD(RStr1,shihongchun); SNStr:=KDD(RStr2,shihongchun); if ShlStr(SNStr)=ShlStr(RightStr(KXEN(Edit2.Text),20)) then //进行非明码比较; begin //下面是注册成功你要做的事情,但千万不要出现注册成功字样,你可以把某些功能给出来。 Label1.Enabled:=False; Edit1.Enabled:=False; Button1.Enabled:=False; end
原创力文档

文档评论(0)