[VB.Net] Cách tạo chương trình bản quyền trong Visual Basic

Xin chào các bạn, đôi khi nếu chúng ta tạo một ứng dụng, chúng tôi chắc chắn muốn bảo vệ nó khỏi những kẻ không tặc. Trong bài viết này tôi sẽ thảo luận về cách tạo chương trình kích hoạt bằng cách đọc mã bộ xử lý trên thiết bị được sử dụng, sau đó thực hiện quy trình mã hóa.


Đầu tiên hãy mở Visual Studio và tạo một dự án mới, sau đó thiết kế biểu mẫu như bên dưới


Bây giờ, hãy quay lại Form1 và thêm thư viện System.Management. Nhấp chuột phải vào dự án và chọn Thêm tham chiếu, nhấp vào Tab .NET sau đó cuộn xuống cho đến khi bạn tìm thấy System.Management và nhấp vào OK


Bây giờ, đi vào mã và khai báo một số biến toàn cục cần thiết
Public Class Form1
    Dim Win32MnClass As System.Management.ManagementClass
    Dim processors As System.Management.ManagementObjectCollection   
    Dim Enkrip, Output, Inputan, hasilenkripsi, prosesor As String
    Dim Panjang_Input As Integer
End Class

Sau đó, chúng tôi sẽ đọc mã bộ xử lý trên thiết bị chúng tôi sử dụng sau đó chúng tôi hiển thị nó vào Textbox1.
Double-click Form1 và nhập mã sau vào Form_Load
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load   
     Win32MnClass = New System.Management.ManagementClass("Win32_Processor")
     processors = Win32MnClass.GetInstances()
     For Each processor As System.Management.ManagementObject In processors
         prosesor = (processor("ProcessorID").ToString())
         TextBox1.Text = prosesor
     Next
End Sub

Và đồng thời, chương trình sẽ phát hiện xem thiết bị được sử dụng đã được kích hoạt hay chưa. Nếu không, chương trình sẽ hiển thị một thông báo cảnh báo và ở lại Form1, nếu có, Form1 sẽ bị ẩn và Form2 sẽ xuất hiện.
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Win32MnClass = New System.Management.ManagementClass("Win32_Processor")
        processors = Win32MnClass.GetInstances()
        For Each processor As System.Management.ManagementObject In processors
            prosesor = (processor("ProcessorID").ToString())
            TextBox1.Text = prosesor
        Next


        Inputan = prosesor
        Panjang_Input = Len(Inputan)

        For i = 1 To Panjang_Input
            Enkrip = Mid(Inputan, i, 1)
            Enkrip = Asc(Enkrip)
            Enkrip = (Enkrip + 20) - 43
            Enkrip = Chr(Enkrip)
            Output = Output & Enkrip
        Next i
        hasilenkripsi = Output

        If My.Computer.Registry.GetValue("HKEY_CURRENT_USER\" + hasilenkripsi, "Andi", "Aspin") Is Nothing Then

            MessageBox.Show("Mã kích hoạt không được phát hiện", "Warning !!", MessageBoxButtons.OK, MessageBoxIcon.Error)   
        Else
            Me.Hide()
            Form2.Timer1.Enabled = False
            Form2.ShowDialog()
        End If

End Sub

GHI CHÚ
một số mã bổ sung ở trên phục vụ cho quá trình mã hóa của mã bộ xử lý, sau đó được lưu trữ vào biến hasilenkripsi.

sau đó, giá trị của biến hasilenkripsi sẽ được lưu trữ trong Windows Registry Editor (Regedit) trong thư mục HKEY_CURRENT_USER.

Bây giờ, double-click Button 2 và nhập mã sau đây, để người dùng có thể bỏ qua quá trình kích hoạt và nhập vào Form2 nhưng trong một thời gian nhất định.
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click  
     Me.Visible = False
     Form2.ShowDialog()
End Sub

Sau đó, bấm đúp vào Nút 1 và nhập mã sau đây, để khớp xem mã kích hoạt được nhập trong Textbox2 có bằng giá trị của biến hasilenkripsi hay không. Nếu thích hợp, thì Form1 sẽ bị ẩn và Form2 sẽ xuất hiện mà không giới hạn thời gian, nếu không nó sẽ hiển thị một thông báo cảnh báo.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     If TextBox2.Text = hasilenkripsi Then
         My.Computer.Registry.SetValue("HKEY_CURRENT_USER\" + hasilenkripsi, "Andi", "Aspin")
         MessageBox.Show("Mã kích hoạt chính xác", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information)   
         Me.Visible = False
         Form2.Timer1.Enabled = False
         Form2.ShowDialog()
     Else
         MsgBox("Mã kích hoạt không chính xác", MsgBoxStyle.Exclamation)
     End If
End Sub

Và cuối cùng, mở Form2 và thay đổi các thuộc tính Timer1 properties to Enabled : True, Sau đó bấm đúp vào Timer1 và nhập mã sau đây
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick   
        Static iCount As Integer
        If iCount = 50 Then
            iCount = 0
            Me.Dispose()
            Form1.Dispose()
        Else
            iCount = iCount + 1
        End If
End Sub

GHI CHÚ
Đoạn mã trên hoạt động nếu Timer1 được bật: Đúng thì Form2 chỉ có thể xuất hiện trong 5 giây, Nếu Timer1 được bật: Sai thì Form2 sẽ xuất hiện mà không giới hạn thời gian.

Bạn có thể thay đổi 5 giây thành 10 giây (ví dụ) bằng cách thay đổi 50 thành 100.

VIDEO DEMO




DOWNLOAD DEMO







Mật Khẩu Mặc Định Để Tải Template Hoặc Apps Nếu Có :
hungcoder.com Hoặc Smile92@

Related Posts