读书人

VB制作软件注册机,该如何处理

发布时间: 2012-05-05 17:21:10 作者: rapoo

VB制作软件注册机
用vb制作了一个软件,想让制作的软件在别人机器上使用时要输入注册码才行,注册码有我电脑上的某个注册软件生成,应该怎么做呢,请高手指点。对不起,分不多了

[解决办法]
在数据库中创建一个注册表格,表格里面包含注册信息。首次运行程序时需要输入注册序列号才行。
[解决办法]
方法很多,凭自己想像,关键是计算方法和加密方法 让别人怎么难破解怎么来,当然没有破解不了的注册
[解决办法]
根据注册机写需要注册的程序?

LZ还是自己写个算法吧..一搜网上一堆源码,改改就好了
[解决办法]

探讨
引用:

在数据库中创建一个注册表格,表格里面包含注册信息。首次运行程序时需要输入注册序列号才行。

这个靠普

[解决办法]
探讨

引用:
引用:

在数据库中创建一个注册表格,表格里面包含注册信息。首次运行程序时需要输入注册序列号才行。

这个靠普

天呐!放在数据库里?您还不如直接把注册码告诉别人得了

[解决办法]
探讨
用vb制作了一个软件,想让制作的软件在别人机器上使用时要输入注册码才行,注册码有我电脑上的某个注册软件生成,应该怎么做呢,请高手指点。对不起,分不多了

[解决办法]
前面说的差不多了

读他的硬件序列号
将这个写死到代码里
注册后
发给他
这种方法的缺点是: 只能在一台机器上运行
[解决办法]
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 

读书人网 >VB

热点推荐