Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Demo Phần 1] Tạo khóa bản quyền cho phần mềm
#21
Trích dẫn:từ:MAI ĐÌNH DÂN <maidinhdan@gmail.com>
tới:toidjtjmtoi@gmail.com,tranhung2616@gmail.com
ngày:09:49, 10 thg 5, 2019
Chữ ký của maidinhdan * Để được hỗ trợ tốt nhất, nhấn vào link dưới đây để xem.
1. [Hướng dẫn] Kiểu file gửi lên để được giúp đỡ
2. [Hướng dẫn] Nội quy diễn đàn
3. [Hướng dẫn] Cách Đưa file và hình vào diễn đàn
4.[Hướng dẫn] Để xây dựng một ứng dụng hoàn hảo và lời cảm tạ
5. Cần tìm Demo hay ứng dụng sử dụng thanh tìm kiếm phía trên cùng, bên phải của diễn đàn.
* Nếu muốn cảm ơn, hãy nhấn nút thank, không cần viết thêm bài nào nửa.



ღღღღღTài sản của maidinhdan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#22
(28-07-18, 10:10 PM)maidinhdan Đã viết:
(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

Cho mình file góc nha: nghiep.lvan@gmail.com, thanks bạn
Chữ ký của nghiep nghiep,gia nhập Thủ Thuật Access từ 18-11 -16.
Reply
Những người đã cảm ơn
#23
Em mò được rồi 
Em cảm ơn a big green
Chữ ký của toidjtjmtoi toidjtjmtoi,gia nhập Thủ Thuật Access từ 29-06 -16.
ღღღღღTài sản của toidjtjmtoi (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#24
Chào bạn bạn cho mình xin file mdb tạo key bản quyền cho phần mềm như trong bài viết với. Minh xin cảm ơn
email mình là: huan.backan83@gmail.com
Chữ ký của huan.backan1983 huan.backan1983,gia nhập Thủ Thuật Access từ 01-02 -16.
Reply
Những người đã cảm ơn
#25
(10-05-19, 03:42 PM)nghiep Đã viết:
(28-07-18, 10:10 PM)maidinhdan Đã viết:
(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

Cho mình file góc nha: nghiep.lvan@gmail.com, thanks bạn

(15-05-19, 05:34 PM)huan.backan1983 Đã viết: Chào bạn bạn cho mình xin file mdb tạo key bản quyền cho phần mềm như trong bài viết với. Minh xin cảm ơn
email mình là: huan.backan83@gmail.com
Chữ ký của huan.backan1983 huan.backan1983,gia nhập Thủ Thuật Access từ 01-02 -16.
Reply
Những người đã cảm ơn
#26
Cho mình xin file mdb và pass với bạn. Cảm ơn nhiều
Chữ ký của huan.backan1983 huan.backan1983,gia nhập Thủ Thuật Access từ 01-02 -16.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Tạo key bản quyền gồm hạn sử dụng toidjtjmtoi 0 47 18-05-19, 09:11 AM
Bài mới nhất: toidjtjmtoi
  [Thủ Thuật] DeMo tạo Key có bản quyền Xuân Thanh 18 1,212 12-05-19, 08:26 AM
Bài mới nhất: Xuân Thanh
  [Thủ Thuật] [Demo-Phần 2] Tạo khóa bản quyền (Có hạn dùng) maidinhdan 38 3,881 10-05-19, 10:46 AM
Bài mới nhất: maidinhdan
  [Thủ Thuật] Demo Phần 2_Compact & Repaire Back End maidinhdan 5 569 07-05-19, 03:49 PM
Bài mới nhất: maidinhdan
  [Thủ Thuật] [Video+Demo] 2 Cách Tạo Số tăng dần và Reset theo nhu cầu maidinhdan 39 8,438 07-05-19, 03:41 PM
Bài mới nhất: maidinhdan

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ| PMA Nha Trang| Gỗ Acrylic Không Đường Line| Phần mềm quản lý bán hàng, công nợ- tồn kho- nhà phân phối