通过机器码得注册码的完整方案(转贴过来,留着看看).doc

通过机器码得注册码的完整方案(转贴过来,留着看看).doc

ID:55491941

大小:39.00 KB

页数:12页

时间:2020-05-15

通过机器码得注册码的完整方案(转贴过来,留着看看).doc_第1页
通过机器码得注册码的完整方案(转贴过来,留着看看).doc_第2页
通过机器码得注册码的完整方案(转贴过来,留着看看).doc_第3页
通过机器码得注册码的完整方案(转贴过来,留着看看).doc_第4页
通过机器码得注册码的完整方案(转贴过来,留着看看).doc_第5页
资源描述:

《通过机器码得注册码的完整方案(转贴过来,留着看看).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通过机器码获得注册码的完整方案(转贴过来,留着看看)想加密自己的软件,看过一些软件的作法,思路如下:1、用户安装后,得出本机的机器码(硬盘的序列号,不想用网卡,因为很多机器没有网卡)。生成机器码代码2、用户将该机器码EMAIL给我,我用该机器码生成一个注册码,发送给用户。注册码生成代码3、用户在程序中输入该注册码,程序逆算该注册码,与机器码核对,查看是否相符。注册码逆算、核对代码,4、如果用户安装后没有得到注册码,在N天后部分功能不可用。不要太容易被改(虽然说安装后也只有少部份功能能用)。时限功能代码,zw84611(2002

2、-12-223:8)functionGetHDNumber(Drv:String):DWORD;//得到硬盘序列号varVolumeSerialNumber:DWORD;MaximumComponentLength:DWORD;FileSystemFlags:DWORD;beginifDrv[Length(Drv)]=':'thenDrv:=Drv+'';GetVolumeInformation(pChar(Drv),nil,0,@VolumeSerialNumber,MaximumComponentLength,FileS

3、ystemFlags,nil,0);Result:=(VolumeSerialNumber);end;functionSerial(Num:DWORD):string;//这个号码是用户给你生成注册码的,它通过对硬盘序列号编码而来。varsNum:string;inChar:array[1..4]ofchar;beginNum:=Numxor8009211011;sNum:=inttostr(Num);inChar[1]:=char(((integer(sNum[1])+integer(sNum[2]))mod5)+integ

4、er('a'));inChar[2]:=char(((integer(sNum[3])+integer(sNum[4]))mod5)+integer('a'));inChar[3]:=char(((integer(sNum[5])+integer(sNum[6]))mod5)+integer('a'));inChar[4]:=char(((integer(sNum[7])+integer(sNum[8])+integer(sNum[9]))mod5)+integer('a'));insert(inChar[1],sNum,1)

5、;insert(inChar[4],sNum,3);insert(inChar[2],sNum,5);insert(inChar[3],sNum,9);Result:=sNum;end;functionencode(License:string):string;varstr,sNum:string;number:dword;byte,byte1:array[1..4]ofdword;inChar:array[1..3]ofchar;beginstr:=license;delete(str,1,1);delete(str,2,1

6、);delete(str,3,1);delete(str,6,1);number:=strtoint64(str);number:=notnumber;number:=numberxor$1973122980;byte[1]:=(numberand$0ff000000)shr24;byte[2]:=(numberand$0ff0000)shr16;byte[3]:=(numberand$0ff00)shr8;byte[4]:=(numberand$0ff);byte1[1]:=((byte[1]and$0c0)+(byte[2

7、]and$0c0)shr2)+((byte[3]and$0c0)shr4)+((byte[4]and$0c0)shr6);byte1[2]:=((byte[1]and$30)shl2)+(byte[2]and$30)+((byte[3]and$30)shr2)+((byte[4]and$30)shr4);byte1[3]:=((byte[1]and$0c)shl4)+((byte[2]and$0c)shl2)+(byte[3]and$0c)+((byte[4]and$0c)shr2);byte1[4]:=((byte[1]an

8、d$03)shl6)+((byte[2]and$03)shl4)+((byte[3]and$03)shl2)+(byte[4]and$03);number:=((byte1[1])shl24)+((byte1[2])shl16)+((byte1[3])shl8)+(byte1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。