• [Demo P1] Tạo khóa bản quyền cho phần mềm
  • [Demo P1] Tạo khóa bản quyền cho phần mềm

    maidinhdan > 28-07-18, 10:10 PM

    (28-07-18, 11:57 AM)niembui Đã viết: Chào các anh/chị

    Mình quan tâm " tạo khóa bản quyền cho file access. Anh chị nào có thể nhận dịch vụ tạo dùm mình code này thì làm ơn cho mình hay nha. email buingocniem@gmail.com. Mình có nhu cầu thực, thù lao thỏa thuận. Xin cảm ơn.

    QUY TRÌNH TẠO BẢN QUYỀN (LICENSE PRODUCT) BẢO MẬT ỨNG DỤNG
    Hướng dẫn các bạn cách tạo License cho ứng dụng. Sau khi, tạo ứng dụng xong, nếu các bạn muốn phân phối ứng dụng của mình theo License product.

    Ở bài viết này, mình hướng dẫn các bạn thuật toán cơ bản để bảo mật ứng dụng.

    1. Đầu tiên, mình lấy serial number của HDD. Vì serial number HDD là duy nhất, nên ứng dụng mình cài vào máy tính nào thì chỉ sử dụng được một máy, cài đặt vào ổ cứng khác thì ứng dụng sẽ không hoạt động.
    2. Tạo khóa token (chuỗi bảo mật).
    3. Sử dụng thuật toán Hex, serial number HDD với token của mình. Bạn có thể sử dụng thuật toán MD5, SHA1 hay 1 thuật toán mã hóa bất kỳ

    * Các hàm cần chuẩn bị, gồm:
    + Hàm đọc ổ cứng HDD ( hoặc đọc Mainboard,CPU...cái này tùy vào sở thích mỗi người)
    + Hàm mã hóa ký tự;
    + Hàm giải mã ký tự;
    + Hàm mã hóa sang kiểu Hex
    + Hàm giải mã từ kiểu Hex
    + Hàm Mã hóa key đăng ký
    + Hàm giải mã key đăng ký
    + Hàm kiểm tra cái Key đăng ký hợp lệ không ( để dùng mỗi lần User mở máy lên ta sẽ kiểm tra, nếu hợp lệ thì cho chạy chương trình, không thì Out ngay.


    * Modules

    Mã PHP:
    Public Function Mahoa(Data As StringOptional Depth As Integer) As String
    Dim TempChar 
    As StringTempAsc As IntegerNewData As StringvChar As Integer
       
       For vChar 
    1 To Len(Data)
           TempChar mID$(DatavChar1)
           TempAsc Asc(TempChar)
           If Depth 0 Then Depth 40
           If Depth 
    254 Then Depth 254
           
           TempAsc 
    TempAsc Depth
           
           If TempAsc 
    255 Then TempAsc TempAsc 255
           
           TempChar 
    Chr(TempAsc)
           NewData NewData TempChar
       Next vChar
       Mahoa 
    NewData
    End 
    Function 



    Mã PHP:
    Public Function GiaiMa(Data As StringOptional Depth As Integer) As String
    Dim TempChar 
    As StringTempAsc As IntegerNewData As StringvChar As Integer
       For vChar 
    1 To Len(Data)
           TempChar mID$(DatavChar1)
           TempAsc Asc(TempChar)
           If Depth 0 Then Depth 40
           If Depth 
    254 Then Depth 254
           
           TempAsc 
    TempAsc Depth
           
           If TempAsc 
    0 Then TempAsc TempAsc 255
           
           TempChar 
    Chr(TempAsc)
           NewData NewData TempChar
       Next vChar
           GiaiMa 
    NewData
    End 
    Function 



    Mã PHP:
    Function DocHDD()
       Set Discos GetObject("WINMGMTS:").InstancesOf("Win32_PhysicalMedia")
       For Each Disco In Discos
           abc 
    Disco.SerialNumber
           If Len
    (Trim(abc)) > 0 Then Exit For
       Next
       DocHDD 
    Trim(abc)
    End Function 




    Mã PHP:
    Public Function MahoaToHex(tString As String) As String
    Dim i 
    As IntegerAs String
    ""
    For 1 To Len(tString)
     S Right$("00" Hex(Asc(mID$(tStringi1))), 2)
    Next i
    MahoaToHex 
    S
    End 
    Function
    Function 
    GiaiMaFromHex(strHex As String) As String
       Dim lngCount 
    As Long
       For lngCount 
    1 To Len(strHexStep 2
           GiaiMaFromHex 
    GiaiMaFromHex Chr("&h" mID(strHexlngCount2))
       Next
    End 
    Function 



    Mã PHP:
    '---------------------------------------------------------------------------------------
    ProcedureTen thu tuc Ma Hoa Key Dang ky
    ' Author/ Nguoi khoi tao : maidinhdan@gmail.com
    Tao tren may tinh User DANAspireV5
    ' Date/ Ngay tao         : 12/31/2016-13:40
    Purpose/Mo ta          :
    '---------------------------------------------------------------------------------------
    '
    Function MaHoaKeyDangky(KeyDangky As String) As String
    Dim b1 
    As Stringb2 As Stringb3 As Stringb4 As Stringb5 As Stringb6 As Stringb7 As Stringb8 As String
    Dim l 
    As Byte
       b1 
    KeyDangky
       b2 
    MahoaToHex(b1)
       b3 Mahoa(b245)
       l Len(b3) / 2
       k 
    Left(b3Len(b3) - Round(l0))
       q mID(b3Len(b3) - Round(l0) + 1)
       b4 k
       b5 
    Mahoa(b4120)
       b6 Mahoa(b5100)
       b7 Mahoa(b680)
       b8 MahoaToHex(b7)
       MaHoaKeyDangky b8
    End 
    Function 



    Mã PHP:
    '---------------------------------------------------------------------------------------
    ProcedureTen thu tuc Giai Ma Key Dang ky
    ' Author/ Nguoi khoi tao : maidinhdan@gmail.com
    Tao tren may tinh User DANAspireV5
    ' Date/ Ngay tao         : 12/31/2016-13:40
    Purpose/Mo ta          :
    '---------------------------------------------------------------------------------------
    '
    Function GiaiMaKeyDangky(KeyDangkyDaMaHoa As String) As String
    Dim b1 
    As Stringb2 As Stringb3 As Stringb4 As Stringb5 As Stringb6 As Stringb7 As Stringb8 As String
    Dim l 
    As Byte
       b1 
    KeyDangkyDaMaHoa
       b2 
    GiaiMaFromHex(b1)
       b3 GiaiMa(b280)
       b4 GiaiMa(b3100)
       b5 GiaiMa(b4120)
       
       l 
    Len(b5) / 2
       k 
    Left(b5Len(b5) - Round(l0))
       q mID(b5Len(b5) - Round(l0) + 1)
       b6 k
       b7 
    GiaiMa(b645)
       b8 GiaiMaFromHex(b7)
       GiaiMaKeyDangky b8
    End 
    Function 



    Mã PHP:
    Function KiemtraKey(KeyKichHoatTable As String) As Boolean
    On Error 
    GoTo Loi
    'Nhap code vao
       If GiaiMaKeyDangky(Nz(KeyKichHoatTable)) = DocHDD Then KiemtraKey = True
    '
    On Error GoTo 0
    Exit Function
    Loi:
       KiemtraKey False
    End 
    Function 


    * Sau khi có các hàm cần thiết ta thiết kế 2 form:
    1. Form dành cho người dùng đăng ký; khi họ bật lên nó sẽ hiển thị khóa đăng ký, họ phải gửi cho bạn khóa này
    [Hình: DangKybanquyen1.png]
    2. Form cho bản thân ta, tức là, khi người dùng gửi bạn khóa đăng ký bạn sẽ dùng form này để tìm khóa kích hoạt sử dụng chương trình để gửi cho họ

    [Hình: DangKybanquyen2.png]



    * Demo minh họa theo link bên dưới:
    * Bạn nào có nhu cầu nghiên cứu code xin để lại email để gửi bản mdb không khóa.
    Thân mến
  • RE: Tạo khóa bản quyền

    huuduy.duy > 29-07-18, 01:16 AM

    Cho em xin file mdb vào mail huuduy.duy@gmail.com
    Cảm ơn anh
  • RE: [Demo] Tạo khóa bản quyền cho phần mềm

    ledangvan > 29-07-18, 10:46 PM

    Cho anh xin File mdb vào Ledangvan06@gmail.com với
    Anh Cảm ơn nhiều
  • RE: [Demo] Tạo khóa bản quyền cho phần mềm

    xuankien07 > 30-07-18, 04:22 PM

    Cho mình xin file mdb, mail xuankien07@gmail.com. Cảm ơn nhiều!
  • RE: [Demo] Tạo khóa bản quyền cho phần mềm

    cpucloi > 30-07-18, 04:32 PM

    Pác Mãi Dính Đạn cho em xin cái pass nhé. Thank pác big green
  • RE: [Demo] Tạo khóa bản quyền cho phần mềm

    Xuân Thanh > 30-07-18, 04:39 PM

    Tất cả mọi thủ tục, Bạn mai dinh dan  đã nói hết rồi các bạn chỉ cần vận dụng thôi
    1/ Thủ tục Đọc HĐH và Mã hóa để trong dự án được phân phối cho người dùng
    2/ Thủ tục Giải Mã cất ỏ nhà. Khi nào người sử dụng gửi thông tin đến thì giải mã và gửi Key đâng ký cho người dùng để nạp vào hệ thống
    3/ Để có thông tin người dùng gửi đên, tạo một form trong dự án người dùng có 1 textbox để nhận thông tin và một command yêu cầu đăng ký sử dụng để gọi thủ tục MaHoaKeyDangKy. Thông tin người dùng nhân được hiển thị ở textbox. Đó chính là thông tin được gửi đến bạn để bạn giải mã thành Key bản quyền
    4/ Ở nhà bạn tạo một dự án chỉ có 1 form gồm 1 textbox và một com để gọi thủ tục GiaiMaKeyDangKy

    @maidinhdan
    Giới thiệu thêm thủ tục GiaiMa để cho kết quả là một chuỗi gồm 4 hoặc 5 nhóm ký tự, mỗi nhóm gồm 4 hoặc 5 ký tự (Key đăng ký bản quyền có vẻ.... chuyên nghiệp hơn). 
    Ví dụ Key có dạng : AHGF-RTDB-MKEF-GCSU-QLAK hoặc AD12Y-4EDG8-H84DF-KLAC5-4X2JK
  • RE: [Demo] Tạo khóa bản quyền cho phần mềm

    mrsiro > 30-07-18, 08:06 PM

    mình xin file mdb nha bạn, xin cám ơn rất nhiều
    sirolichking15@gmail.com
  • RE: [Demo Phần 1] Tạo khóa bản quyền cho phần mềm

    tui123 > 31-07-18, 05:47 PM

    Cho mình xin file mdb và Pass VBA vào mail: tdanh2002@gmail.com

    Cảm ơn bạn
  • RE: [Demo Phần 1] Tạo khóa bản quyền cho phần mềm

    NguyenDungAnh > 31-07-18, 06:23 PM

    dunganh9301@gmail.com
    Em chân thành cám ơn bác dân!
  • RE: [Demo Phần 1] Tạo khóa bản quyền cho phần mềm

    maidinhdan > 01-08-18, 10:06 PM

    đã gửi tới:

    Trích dẫn:Đỗ Hữu Duy <huuduy.duy@gmail.com>,
    Dangvan Le <Ledangvan06@gmail.com>,
    CPUCLoi <cpucloi@gmail.com>,
    so siro <sirolichking15@gmail.com>,
    Trung Huu <tdanh2002@gmail.com>,
    nguyen anh <dunganh9301@gmail.com>