www涩-www黄网站-www黄色-www黄色com-国产免费拍拍视频在线观看网站-国产免费怕怕免费视频观看

軟件的加密——注冊碼實現原理

2014-10-07 15:37:22 大云網  點擊量:864 評論 (0)
摘 要:很多共享軟件有一定的試用期,試用期過后,需要注冊才能夠繼續使用。注冊時需要把使用軟件時出現的一個序列號給人家發過去,而后產權所有人給你注冊號碼。并且一機一個號碼,最大限度防止盜用別人的成果
摘 要:很多共享軟件有一定的試用期,試用期過后,需要注冊才能夠繼續使用。注冊時需要把使用軟件時出現的一個序列號給人家發過去,而后產權所有人給你注冊號碼。并且一機一個號碼,最大限度防止盜用別人的成果。下面介紹的就是在VB中獲取計算機的硬件信息,從而通過一定的算法給出注冊碼,實現軟件加密。
關鍵詞: 軟件加密 注冊碼 防盜


打開VB6.0新建一個工程,在窗體上放置兩個文體框控件text1和text2,放置一個命令控件command其caption屬性設為“注冊”。在通用­——聲明中建立如下代碼:
String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long,lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal      lpFileSystemNameBuffer As String, ByVal  nFileSystemNameSize As Long) As Long
新建一個函數:
Function GetSerialNumber(strDrive As String) As Long
     Dim SerialNum As Long
     Dim Res As Long
     Dim Temp1 As String
     Dim Temp2 As String
     Temp1 = String$(255, Chr$(0))
     Temp2 = String$(255, Chr$(0))
     Res = GetVolumeInformation(strDrive, Temp1, Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
     GetSerialNumber = SerialNum
     End Function
單擊“注冊”按鈕事件代碼如下:
Private Sub Command1_Click()
     If Text2 <> CStr(GetSerialNumber("C:")-123*9) Then //注冊碼算法
        MsgBox "注冊碼不正確,請認真檢查輸入是否正確。"
     Else
        MsgBox "你已經成功注冊,請重新啟動本軟件。"
        Unload Me
       Shell ("G:cxj技能測試Exercise.exe")  //執行正常運行的代碼
     End If
     End Sub
窗體激活代碼如下:
Private Sub Form_Activate()
     Text1.Text = GetSerialNumber("C:")
     End Sub
整個程序運行后,出現兩個文本框和一個“注冊”按鈕,一個文本框顯示計算機硬盤序列號,第二個文本框需輸入正確注冊號,點“注冊”程序正常運行,否則程序要求輸入正確序列號。
這個事例是以獲取硬盤序列號為機器碼從而算出注冊碼,也可獲取其它硬件信息作為機器碼,如CPU序列號、網卡MAC地址等,下面介紹用VB獲取CPU序列號。
打開VB6.0新建一個工程,在窗體上放置一個文體框控件text1。通用­——聲明中建立如下代碼:
Private   Type   OSVERSIONINFO  
  dwOSVersionInfoSize  As  Long  
  dwMajorVersion  As  Long  
  dwMinorVersion  As  Long  
  dwBuildNumber  As  Long  
  dwPlatformId  As  Long  
  szCSDVersion  As  String *  128    ' Maintenance   string   for   PSS   usage  
  End   Type  
Private   Declare   Function   GetVersionEx   Lib   "kernel32"   Alias   "GetVersionExA"   (lpVersionInformation   As   OSVERSIONINFO)   As   Long
  Private   Declare   Function   GetComputerName   Lib   "kernel32"   Alias   "GetComputerNameA"   (ByVal   lpBuffer   As   String,   nSize   As   Long)   As   Long  
  Private   Const   VER_PLATFORM_WIN32_NT   =   2  
  Private   Const   VER_PLATFORM_WIN32_WINDOWS   =   1  
  Private   Const   VER_PLATFORM_WIN32s   =   0  
窗體激活代碼如下:
Private Sub Form_Activate()
     Dim   len5   As   Long,   aa   As   Long  
          Dim   cmprName   As   String  
          Dim   osver   As   OSVERSIONINFO  
          '取得Computer   Name  
          cmprName   =   String(255,   0)
          len5   =   256  
          aa   =   GetComputerName(cmprName,   len5)  
          cmprName   =   Left(cmprName,   InStr(1,   cmprName,   Chr(0))   -   1)  
          Computer   =   cmprName                 '取得CPU端口號  
          Set   CPUs   =   GetObject("winmgmts:{impersonationLevel=impersonate}!\"   &   Computer   &   "rootcimv2").ExecQuery("select   *   from   Win32_Processor")  
          For   Each   mycpu   In   CPUs  
              Text1.Text   =   mycpu.ProcessorId  
          Next  
     End Sub
程序運行后,文本框內顯示的正是本機CPU的序列號。
上述事例均使用VB6.0,在WindowsXP下運行通過。
大云網官方微信售電那點事兒

責任編輯:葉雨田

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
点个赞吧
評論
赶紧留言抢沙发吧~
?
主站蜘蛛池模板: 久久视频这里只精品3国产 久久视频这里只有精品 | 国产精品一区高清在线观看 | 欧美午夜精品久久久久久黑人 | 日本免费一区二区三区毛片 | 最新久久免费视频 | 欧美大狠狠大臿蕉香蕉大视频 | 99精品国产一区二区三区 | 日韩成人一级 | 一区二区三区在线免费看 | 国产日韩精品欧美一区 | 韩国v欧美v亚洲v日本v | 99je全部都是精品视频在线 | 欧美激情亚洲色图 | 国产激情视频网站 | 国产区香蕉精品系列在线观看不卡 | 99久久国产免费中文无字幕 | 久久综合一区二区三区 | 玖玖精品视频在线观看 | 韩日黄色片 | 性欧美videofree另类17 | 欧美激情免费a视频 | 悟空影视大全免费高清 | 成人精品综合免费视频 | 日本精品视频一视频高清 | 亚洲国产精品久久精品成人 | 性色网址 | 黄色三级视频在线 | 欧美黄色免费网站 | 久久久久久久99精品免费 | 亚洲最大成人 | 男人的天堂在线免费视频 | 国产成人在线视频观看 | 国产午夜精品久久理论片小说 | 中文一级毛片 | 久久黄色影片 | 中文成人在线视频 | 99精品视频免费观看 | 美女视频黄a视频美女大全 美女视频黄a视频免费全程 | 亚洲一区 欧美 | 91精品国产高清久久久久 | 九九精品免费 |