LexActivator Active Program For VB.NET

Chào mọi người.

Dạo gần đây mình đang tìm hiểu về việc phát triển chương trình bản quyền cho ứng dụng mà mình phát triển, vì hiện tại ở Việt Nam việc bẻ khóa bản quyền chương trình đã thành thông lệ rồi, và việc nhiều chương trình lớn đều được người Việt Nam bẻ khóa và chia sẽ đến mọi người.

LexActivator Active Program For VB.NET

Theo như những gì mình đọc được, thì nói đến Microsoft việc bẻ khóa và sữ dụng miền phí của người dùng internet ở Việt Nam làm cho lãnh đạo Microsoft phải trực tiếp sang Việt Nam để tìm hiểu vấn đề và nguyên nhân, nhưng vẫn chưa thể tìm ra được điều gì về những ứng dụng của Microsoft vẫn bị bẻ khóa và chia sẽ miễn phí.

Qua bài viết này mình giới thiếu đến người dùng nhiều tồn tại và rủi ro khi các bạn sữ dụng những chương trình được phát tán miến phí trên Internet để phòng tránh rủi ro khi sữ dụng nhưng chương trình Active bản quyền đó nhé.

Vào chủ đề mình đang học tập đó là việc sữ dụng LexActivator Active để thêm bản quyền cho chương trình của bản thân mình như mong muốn của một số anh chị em coder hiện tại

Thêm giấy phép vào ứng dụng của bạn

Sau khi thêm sản phẩm cho ứng dụng của bạn vào cổng thông tin quản trị, bạn sẽ cần thực hiện những việc sau:
  • Lưu ý ID sản phẩm (từ menu hành động trong bảng).
  • Tải xuống Product.dat cho sản phẩm (từ menu hành động trong bảng).
  • Tải xuống dự án ví dụ từ Github
Product.dat chứa dữ liệu sản phẩm được LexActivator sử dụng. ID sản phẩm là mã định danh của sản phẩm sẽ được sử dụng trong mã.

Thêm thư viện vào ứng dụng của bạn

Trình bao bọc LexActivator cho VB.NET có thể dễ dàng cài đặt thông qua nuget
Install-Package Cryptlex.LexActivator

LexActivator phụ thuộc vào VS2015runtime trên Windows . Trên các máy đích mà bạn sẽ triển khai ứng dụng, bạn có thể cài đặt VS2015runtime, nếu không có, bằng cách sử dụng liên kết: https://www.microsoft.com/en-in/download/details.aspx?id=48145
Thiết lập tệp product.dat và ID sản phẩm

Điều đầu tiên bạn cần làm là nhúng tệp Product.dat vào ứng dụng của mình bằng SetProductData() hàm hoặc đặt đường dẫn tuyệt đối của tệp bằng SetProductFile() hàm.

Điều tiếp theo bạn cần làm là đặt id sản phẩm của ứng dụng trong mã của bạn bằng SetProductId() hàm. Nó đặt id của sản phẩm bạn sẽ thêm giấy phép vào.
LexActivator.SetProductData("PASTE_CONTENT_OF_PRODUCT.DAT_FILE");
LexActivator.SetProductId("PASTE_PRODUCT_ID", LexActivator.PermissionFlags.LA_USER);

Nếu ứng dụng của bạn yêu cầu quyền quản trị (root) để chạy (ví dụ: dịch vụ, daemon, v.v.), thay vì truyền LexActivator.PermissionFlags.LA_USER cờ, bạn cần truyền LexActivator.PermissionFlags.LA_SYSTEM.

Nếu ứng dụng của bạn yêu cầu một lần kích hoạt duy nhất được chia sẻ giữa tất cả người dùng hệ điều hành (kích hoạt toàn hệ thống), hãy chuyển LexActivator.PermissionFlags.LA_ALL_USERS trước khi kích hoạt. Cờ này chỉ tương thích với hệ điều hành Windows.

Kích hoạt giấy phép

Để kích hoạt giấy phép trong ứng dụng của bạn bằng khóa cấp phép, bạn sẽ sử dụng ActivateLicense() hàm API LexActivator. Hàm này sẽ gọi /v3/activations điểm cuối Cryptlex Web API, xác minh phản hồi được mã hóa và ký kỹ thuật số để xác thực giấy phép.
Private Sub activateLicenseBtn_Click(ByVal sender As Object, ByVal e As EventArgs)
    Try
        Dim status As Integer
        LexActivator.SetLicenseKey(productKeyBox.Text)
        LexActivator.SetActivationMetadata("key1", "value1")
        status = LexActivator.ActivateLicense()
        If status = LexStatusCodes.LA_OK OrElse status = LexStatusCodes.LA_EXPIRED OrElse status = LexStatusCodes.LA_SUSPENDED Then
            Me.statusLabel.Text = "Activation Successful :" & status.ToString()
            Me.activateBtn.Text = "Deactivate"
            Me.activateTrialBtn.Enabled = False
        Else
            Me.statusLabel.Text = "Error activating the license: " & status.ToString()
        End If
    Catch ex As LexActivatorException
        Me.statusLabel.Text = "Error code: " & ex.Code.ToString() & " Error message: " + ex.Message
    End Try
End Sub

Mã trên phải được thực thi tại thời điểm kích hoạt giấy phép.

Xác minh kích hoạt giấy phép

Mỗi lần ứng dụng của bạn khởi động, bạn cần xác minh xem giấy phép của bạn đã được kích hoạt hay chưa. Việc xác minh này phải diễn ra cục bộ bằng cách xác minh chữ ký số mật mã của kích hoạt. Lý tưởng nhất là nó cũng nên liên hệ không đồng bộ với máy chủ CryptlexM để xác thực và đồng bộ hóa kích hoạt giấy phép theo định kỳ. Đối với điều này, bạn cần sử dụng IsLicenseGenuine() hàm API LexActivator.
Public Sub New()
    InitializeComponent()
    Try
        LexActivator.SetProductData("PASTE_CONTENT_OF_PRODUCT.DAT_FILE")
        LexActivator.SetProductId("PASTE_PRODUCT_ID", LexActivator.PermissionFlags.LA_USER)
        Dim status As Integer = LexActivator.IsLicenseGenuine()
        If status = LexStatusCodes.LA_OK OrElse status = LexStatusCodes.LA_EXPIRED OrElse status = LexStatusCodes.LA_SUSPENDED OrElse status = LexStatusCodes.LA_GRACE_PERIOD_OVER Then
            Me.statusLabel.Text = "License genuinely activated! Activation Status: " & status.ToString()
        Else
            Me.statusLabel.Text = "License is not activated: " & status.ToString()
        End If
    Catch ex As LexActivatorException
        Me.statusLabel.Text = "Error code: " & ex.Code.ToString() & " Error message: " + ex.Message
    End Try
End Sub

Mã trên phải được thực thi mỗi khi người dùng khởi động ứng dụng. Sau khi xác minh cục bộ, nó sẽ lên lịch kiểm tra máy chủ định kỳ trong một luồng riêng biệt.

Qua những gới ý trên, mọi người cũng hiểu chút nào về việc phát triển bản quyền cho chương trình của bản thân mình rồi chứ, nếu không hiểu ở bước nào có thể để lại bình luận để mình giúp nhé.

Chúc mọi người thành công.

1 Comments

Previous Post Next Post