VB制作软件注册机
用vb制作了一个软件,想让制作的软件在别人机器上使用时要输入注册码才行,注册码有我电脑上的某个注册软件生成,应该怎么做呢,请高手指点。对不起,分不多了
[解决办法]
在数据库中创建一个注册表格,表格里面包含注册信息。首次运行程序时需要输入注册序列号才行。
[解决办法]
方法很多,凭自己想像,关键是计算方法和加密方法 让别人怎么难破解怎么来,当然没有破解不了的注册
[解决办法]
根据注册机写需要注册的程序?
LZ还是自己写个算法吧..一搜网上一堆源码,改改就好了
[解决办法]
[解决办法]
[解决办法]
[解决办法]
前面说的差不多了
读他的硬件序列号
将这个写死到代码里
注册后
发给他
这种方法的缺点是: 只能在一台机器上运行
[解决办法]
MD5("软件名称和版本号"+"软件合法使用的时间和地点信息"+"软件作者的身份证号"+"软件卖出的价格"+"使用者的身份证号"+"使用者的手机号"+"一个只有软件作者知道的密码")
- VB code
Option ExplicitPrivate Declare Function CryptAcquireContext Lib "advapi32.dll" Alias "CryptAcquireContextA" (ByRef phProv As Long, ByVal pszContainer As String, ByVal pszProvider As String, ByVal dwProvType As Long, ByVal dwFlags As Long) As LongPrivate Declare Function CryptReleaseContext Lib "advapi32.dll" (ByVal hProv As Long, ByVal dwFlags As Long) As LongPrivate Declare Function CryptCreateHash Lib "advapi32.dll" (ByVal hProv As Long, ByVal Algid As Long, ByVal hKey As Long, ByVal dwFlags As Long, ByRef phHash As Long) As LongPrivate Declare Function CryptDestroyHash Lib "advapi32.dll" (ByVal hHash As Long) As LongPrivate Declare Function CryptHashData Lib "advapi32.dll" (ByVal hHash As Long, pbData As Any, ByVal dwDataLen As Long, ByVal dwFlags As Long) As LongPrivate Declare Function CryptGetHashParam Lib "advapi32.dll" (ByVal hHash As Long, ByVal dwParam As Long, pbData As Any, pdwDataLen As Long, ByVal dwFlags As Long) As LongPrivate Const HP_HASHVAL = 2Private Const HP_HASHSIZE = 4Private Const PROV_RSA_FULL = 1Private Const CRYPT_NEWKEYSET = &H8Private Const ALG_CLASS_HASH = 32768Private Const ALG_TYPE_ANY = 0Private Const ALG_SID_MD2 = 1Private Const ALG_SID_MD4 = 2Private Const ALG_SID_MD5 = 3Private Const ALG_SID_SHA1 = 4Enum HashAlgorithm MD2 = ALG_CLASS_HASH Or ALG_TYPE_ANY Or ALG_SID_MD2 MD4 = ALG_CLASS_HASH Or ALG_TYPE_ANY Or ALG_SID_MD4 MD5 = ALG_CLASS_HASH Or ALG_TYPE_ANY Or ALG_SID_MD5 SHA1 = ALG_CLASS_HASH Or ALG_TYPE_ANY Or ALG_SID_SHA1End EnumPublic Function HashString(ByVal Str As String, Optional ByVal Algorithm As HashAlgorithm = MD5) As String Dim hCtx As Long Dim hHash As Long Dim lRes As Long Dim lLen As Long Dim lIdx As Long Dim abData() As Byte lRes = CryptAcquireContext(hCtx, vbNullString, vbNullString, PROV_RSA_FULL, 0) If lRes <> 0 Then lRes = CryptCreateHash(hCtx, Algorithm, 0, 0, hHash) If lRes <> 0 Then lRes = CryptHashData(hHash, ByVal Str, Len(Str), 0) If lRes <> 0 Then lRes = CryptGetHashParam(hHash, HP_HASHSIZE, lLen, 4, 0) If lRes <> 0 Then ReDim abData(0 To lLen - 1) lRes = CryptGetHashParam(hHash, HP_HASHVAL, abData(0), lLen, 0) If lRes <> 0 Then For lIdx = 0 To UBound(abData) HashString = HashString & Right$("0" & Hex$(abData(lIdx)), 2) Next End If End If End If CryptDestroyHash hHash End If End If CryptReleaseContext hCtx, 0 If lRes = 0 Then Err.Raise Err.LastDllErrorEnd Function