Đăng ký và sử dụng Tool

tuhocvba

Administrator
Thành viên BQT
Theo những gì thảo luận trên diễn đàn, các bạn đều đồng ý rằng DLL VB6 là khó dịch ngược.
Ngoài ra ở topic (Dự kiến công khai vào ngày 28/10/2021), điều này cho phép chúng ta nghĩ tới việc yêu cầu đăng ký sử dụng Tool, do thuật toán có thể cho vô DLL VB6, là nơi khó bị bẻ.

Bước 1 :
Đọc HDD serinumber :
Mã:
Sub test()
    Dim s As String
    s = GetHDD()
    ThisWorkbook.Sheets(1).Cells(1, 1).Value = s
End Sub
Function GetHDD() As String
    Dim Wmi As Object, Disks As Object, Disk As Object
    Set Wmi = GetObject("winmgmts:{impersonationLevel" & "=impersonate}!root\cimv2")
    Set Disks = Wmi.ExecQuery("Select * from Win32_DiskDrive")
    For Each Disk In Disks
    If Len(Disk.SerialNumber) > Len(GetSerialNumber) Then GetSerialNumber = Disk.SerialNumber
    Next
    Set Disk = Nothing
    Set Disks = Nothing
    Set Wmi = Nothing
GetHDD = GetSerialNumber
End Function
Tham khảo :
Mã:
https://stackoverflow.com/questions/64293004/protect-excel-of-the-method-vba-hard-drive-serial-number
Lấy được HDD serinumber, ta sẽ cho nó tìm trên file excel được cất trên google driver xem số HDD serinumber này có xuất hiện trên đó không. Nếu không có thì việc đăng ký sử dụng Tool coi như thất bại.
Nếu tồn tại, sẽ cho tiến hành đăng ký sử dụng Tool.
(Ở bước này nhất thiết yêu cầu người dùng phải có kết nối internet)

Bước 2:
Nếu hư cái số HDD serinumber này mà để lộ liễu,, thì chẳng khác nào bảo người ta, anh chỉ cần can thiệp chèn vô đó ký tự serinumber của anh vào.
Vì vậy cái số này nhất định phải được biến đổi thành một ký tự khác, khó suy luận được ra.

Function mã_hóa:
INPUT: HDD Serinumber
OUTPUT: code_mã_hóa
(Đây là bước quan trọng, có rất nhiều thuật toán để mã hóa chuỗi ký tự).

Bước 3:
Tạo ra file txt công khai mã hóa này, cất cùng thư mục Tool.
Bạn cần đăng nhập để thấy đính kèm

Trên đây là ý tưởng, tôi sẽ hiện thực hóa từng bước trong topic này.
(Còn nữa)
 
  • Like
Reactions: CRV

PTHhn

Yêu THVBA như điếu đổ
Theo tôi quy trình trên cần xem lại.
Ví dụ:
Người dùng muốn dùng tool, anh ta chuyển tiền cho tác giả.
Tiếp theo: Tác giả phải cập nhật HDD ID lên google driver.

Người dùng có khả năng thay thế đường link google drive của tác giả thành đường link google drive trỏ về file của anh ta.
Vì vậy một là sử dụng nhiều link giả như Tào Tháo cho đào mộ giả.
Hoặc quy trình như sau:

Người dùng gửi tiền cho tác giả kèm thông tin HDD ID.
Tác giả nhận HDD ID và thực hiện mã hóa trên máy tính của tác giả, tạo ra file mã hóa công khai, chuyển cho người sử dụng.
Người sử dụng copy file này vào thư mục Tool để chạy.
 
O

OnceMore

Guest
Muốn biết Ok không thì Mình test ở đây trước cho chắc chắn !
 

Euler

Administrator
Thành viên BQT
Từ bao giờ mà bà @hongphuong quan tâm tới bảo mật thế.
Có biết Smod là ai không, nick đình đám trên diễn đàn thay tên đổi họ đó. :cool:
 

hongphuong

Tôi yêu THVBA
"Có biết Smod là ai không, nick đình đám trên diễn đàn thay tên đổi họ đó. :cool:"
@Euler anh oi
Hi hi..... không phải em đâu anh oi.
 

giaiphapvba

Administrator
Thành viên BQT
Mã hóa sử dụng thuật toán phức tạp một chút.
Chẳng hạn từ chuỗi HDD Seribumber chuyển các ký tự chữ cái hay chữ số trong chuỗi này về mã accii. Mã accii này chuyển thành nhị phân hoặc hex.
Hàm mã hóa sử dụng thuật toán mã vòng. Đây là thuật toán phức tạp có nhiều biến thể chuyên dùng xử lý tín hiệu chống nhiễu.
Có nghĩa là output không ra một số cụ thể để so sánh. Ứng với mỗi input sẽ có một output khác nhau. output này phải đúng với logic mã hóa.
Kết quả tính toán này không nên làm căn cứ để cho chạy chương trình hay không, mà nếu kết quả đúng thì chạy thủ tục 1 , thủ tục 2, thủ tục 3,...
Nếu kết quả sai thì chạy thủ tục 1, thủ tục 3 (bỏ qua thủ tục 2).

Kết quả tính toán sau cùng có thể sai so với kỳ vọng phụ thuộc vào tính toán logic ở trên. Làm như vậy thì người đi bẻ sẽ khó có căn cứ biết họ bẻ thành công hay không. Vì code vẫn chạy.
Việc code đưa ra kết quả không ra kỳ vọng, thường người dùng sẽ liên hệ tác giả tool để phản hồi. Nhưng người phải có tư cách như thế nào mới có thể liên hệ tác giả tool để phản hồi. Anh không liên hệ mua bán giao dịch gì, thì sao có thể liên hệ để hỏi tại sao tool ra kết quả mà tôi thấy sai sai...
 
Top