Tạo key cho file excel có viết code vba (2 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

mtkien30

Thành viên chính thức
Tham gia
9/4/12
Bài viết
52
Được thích
0
Xin chào các bạn!
Các bạn cho mình hỏi, có cách nào tạo được cd key của 1 file excel hay không. Mình muốn 1 người muốn sử dụng file excel đó trên 1 máy tính khác phải nhập cd key vào thì mới được sử dụng và có thời hạn sử dụng file excel đó (Không phải lần nào mở file lên cũng nhập cd key chỉ nhập duy nhất lần đầu).
Mong được sự giúp đỡ của các bạn.
 
Xin chào các bạn!
Các bạn cho mình hỏi, có cách nào tạo được cd key của 1 file excel hay không. Mình muốn 1 người muốn sử dụng file excel đó trên 1 máy tính khác phải nhập cd key vào thì mới được sử dụng và có thời hạn sử dụng file excel đó (Không phải lần nào mở file lên cũng nhập cd key chỉ nhập duy nhất lần đầu).
Mong được sự giúp đỡ của các bạn.
1. Cái mà bạn gọi là cd key nghe hài quá!! Nhưng không hiểu mục đích của việc này là gì bạn?? Nếu muốn file chỉ dùng trên 1 máy thì có 1 cách là đọc địa chỉ ổ cứng của máy bằng code, so sánh với thiết lập sẵn trên file.
2. Thời hạn trong file excel thì được thôi, có 1 cách là viết code trực tiếp vào file.
Nhưng khổ nỗi nếu máy tính người đó dùng disable macro thì cũng chả có tác dụng gì cả.
 
Xin chào các bạn!
Các bạn cho mình hỏi, có cách nào tạo được cd key của 1 file excel hay không. Mình muốn 1 người muốn sử dụng file excel đó trên 1 máy tính khác phải nhập cd key vào thì mới được sử dụng và có thời hạn sử dụng file excel đó (Không phải lần nào mở file lên cũng nhập cd key chỉ nhập duy nhất lần đầu).
Mong được sự giúp đỡ của các bạn.
1/ Nếu muốn viết code cho file Excel chỉ sử dụng được trên một máy chỉ định phải biết được ID seralNumber của máy đó

2/ có thể mã hóa tên sử dụng và địa chỉ người sử dụng và kiểm tra nếu đúng thì cho chạy nếu sai thì thoát ... cách này chỉ áp dụng cho một chương trình bán hàng bắt buộc phải có địa chỉ tuyệt đối nếu không có địa chỉ thỉ người ta ko xuất hóa đơn chẳng hạn vv....

3/ Bạn phải có máy chủ và tạo file setup khi nó tiến hành cài đặt thì nó lấy ID máy gửi về máy chủ .từ máy chủ check cái ID đó nếu đúng thì cho tải một file mã hóa về máy cất vào chỗ thật kím hay (ghi vào Registry) xong chương trình check file đó nếu đúng thì cho sử dụng ...sai thì chào

* mình gửi cho bạn Test mục số 2 nha mình cũng vùa làm xong thấy bạn hỏi úp luôn cho
1/ tải về nhớ Enable Macros
2/ chạy file Install DLL.bat để sử dụng
3/ nếu thấy chưa ổn cho ý kiến
link sau
http://www.mediafire.com/download/u9gg5v6xyf3ffgp/Dang_Ky_Su_Dung2.rar
 
Lần chỉnh sửa cuối:
1. Cái mà bạn gọi là cd key nghe hài quá!! Nhưng không hiểu mục đích của việc này là gì bạn?? Nếu muốn file chỉ dùng trên 1 máy thì có 1 cách là đọc địa chỉ ổ cứng của máy bằng code, so sánh với thiết lập sẵn trên file.
2. Thời hạn trong file excel thì được thôi, có 1 cách là viết code trực tiếp vào file.
Nhưng khổ nỗi nếu máy tính người đó dùng disable macro thì cũng chả có tác dụng gì cả.

Excel viết code trực tiếp trên File thì bảo mật có cũng như không --=0--=0

nếu máy tính người đó dùng disable macro thì nghỉ xài File đó luôn
 
Excel viết code trực tiếp trên File thì bảo mật có cũng như không --=0--=0

nếu máy tính người đó dùng disable macro thì nghỉ xài File đó luôn
Đương nhiên gặp cao thủ thì khỏi phải bàn rồi. Còn gặp những người "bình thường" thì đó vẫn là một chiêu hóc hiểm!!
 
Đương nhiên gặp cao thủ thì khỏi phải bàn rồi. Còn gặp những người "bình thường" thì đó vẫn là một chiêu hóc hiểm!!

"Bình thường" đến mức không biết gì về cái vụ Enable Macro thì code cũng... thừa
Chỉ hơi "bất bình thường" thì mới vọc rồi mới dính chiêu hóc hiểm
Ẹc... Ẹc...
-----------------
Nên nhớ rằng khi mới cài Office, mặc định trong Options của Excel là luôn luôn Disable Macro nha (thành ra khỏi cần dis thì nó vẫn đã.. dis rồi)
 
Xin chào các bạn!
Các bạn cho mình hỏi, có cách nào tạo được cd key của 1 file excel hay không. Mình muốn 1 người muốn sử dụng file excel đó trên 1 máy tính khác phải nhập cd key vào thì mới được sử dụng và có thời hạn sử dụng file excel đó (Không phải lần nào mở file lên cũng nhập cd key chỉ nhập duy nhất lần đầu).
Mong được sự giúp đỡ của các bạn.

Câu trả lời là có và khá đơn giản, nếu bạn biết viết code tren VB6 để tạo file .dll

Nếu chỉ mới ở mức abc thì thôi quên đi cái vụ này cho khoẻ.
 
Nếu dùng phần mềm LOCKXLS thì ok luôn anh KieuManh ạ! Đã có lần em đưa 1 vài File lên diễn đàn rồi đó!
http://www.giaiphapexcel.com/forum/showthread.php?103761-Tạo-Bảng-Màu-Thường-Dùng&p=644805
Mình có coi File đó rồi ... nhưng hình như chạy hơi chậm thì Phải
1/ copy vào máy nào cũng chạy đươc....

2/ nếu chỉ định theo máy thì phải biết ID number mới viết code được ...khó nhất chỗ đó....nếu một 1000 máy thì sao??????? ko lẻ đến từng máy lấy ID xong sửa lại code...
 
Lần chỉnh sửa cuối:
Cả một ngày hôm này mãi mê cái đề tài này quên cả ăn trưa mới viết xong được cái code bảo

mật File Excel theo ID máy ....Ngửa mặt lên trời hahaha --=0--=0 như chưa bao giờ hahaha

bao giờ .....đã ghê


1/ Mỗi lần mở file lên trên một máy bất kỳ là nó tạo một cái ID mới và một mã đăng ký mới nếu nhập đúng mã thì sử dụng File ... Nếu sai thì Tèo chẳng hạn....

2/ Nếu ai muốn sử dụng file thì nhắn mã qua mình cũng cấp cho mã đăng ký là Ok

3/ trong file mình làm luôn phần giải mã rồi nhờ các Bạn tải về kiểm tra cho ý kiếm
4/ hay nhất ở chỗ chỉ nhắn mã qua là mình cho mã sử dụng ko phải viết lại code .....--=----=----=--

5/Luu y giai ma Cells D4
Xin cảm ơn Các Bạn GPE Kiểm tra dùm cho ý kiến để mình hoàn thiện hơn....Xin cảm ơn...Xin cảm ơn

Link tải File
http://www.mediafire.com/download/gx62x52vj9i4xg6/License_Excel.rar
 
Lần chỉnh sửa cuối:
Cả một ngày hôm này mãi mê cái đề tài này quên cả ăn trưa mới viết xong được cái code bảo

mật File Excel theo ID máy ....Ngửa mặt lên trời hahaha --=0--=0 như chưa bao giờ hahaha

bao giờ .....đã ghê


1/ Mỗi lần mở file lên trên một máy bất kỳ là nó tạo một cái ID mới và một mã đăng ký mới nếu nhập đúng mã thì sử dụng File ... Nếu sai thì Tèo chẳng hạn....

2/ Nếu ai muốn sử dụng file thì nhắn mã qua mình cũng cấp cho mã đăng ký là Ok

3/ trong file mình làm luôn phần giải mã rồi nhờ các Bạn tải về kiểm tra cho ý kiếm
4/ hay nhất ở chỗ chỉ nhắn mã qua là mình cho mã sử dụng ko phải viết lại code .....--=----=----=--

Xin cảm ơn Các Bạn GPE Kiểm tra dùm cho ý kiến để mình hoàn thiện hơn....Xin cảm ơn...Xin cảm ơn

Link tải File
http://www.mediafire.com/download/gx62x52vj9i4xg6/License_Excel.rar
Anh Mạnh gửi em xin mã đăng kí với!
ID máy của em là:MHD108091570001891
 
Anh Mạnh gửi em xin mã đăng kí với!
ID máy của em là:MHD108091570001891
Mã ở ô bên cạnh đó copy qua là ok [lấy mã đăng ký ]
Nhờ bạn thử trên vài máy xem thế nào nha

mới coi lại mã đó lã mã máy mình mà.... bạn xóa mấy cái mã đó đi bấm lấy mã mới ...giải mã bên cạnh luôn

xin cảm ơn
 
Lần chỉnh sửa cuối:
Mã ở ô bên cạnh đó copy qua là ok [lấy mã đăng ký ]
Nhờ bạn thử trên vài máy xem thế nào nha

mới coi lại mã đó lã mã máy mình mà.... bạn xóa mấy cái mã đó đi bấm lấy mã mới ...giải mã bên cạnh luôn

xin cảm ơn
Cảm ơn bạn Kieumanh! Tôi vẫn chưa hiểu cách dùng lắm! Tức là nếu người dùng không chạy File .dll thì File Excel không dùng được đúng không bạn. Ở đây tôi mở File excel mà không chạy File .dll thì vẫn mở được File excel đó bình thường mà! Bạn có thể đưa lên 1 File ví dụ khác nếu người dùng không chạy File dll thì không thể mở được File excel đó được không ạ? Cảm ơn anh nhiệu!
 
Cảm ơn bạn Kieumanh! Tôi vẫn chưa hiểu cách dùng lắm! Tức là nếu người dùng không chạy File .dll thì File Excel không dùng được đúng không bạn. Ở đây tôi mở File excel mà không chạy File .dll thì vẫn mở được File excel đó bình thường mà! Bạn có thể đưa lên 1 File ví dụ khác nếu người dùng không chạy File dll thì không thể mở được File excel đó được không ạ? Cảm ơn anh nhiệu!
Bạn giải nén file đó ra trong đó có 3 file. bạn chạy File Install DLL.bat để đăng ký với widows

xong mở file Excel lên xóa hết mấy cái mã cũ đi bấm lay ma HD Vb6 nó cho bạn 2 mã hai bên

[B4] là mã máy [D4] là giải mã bạn bấm check ma HD VB6 kiểm tra nhập bất kỳ mã nào vào [C4]

kiểm tra xem thế nào ... cuối cùng copy [D4] paste vào [C4] kiểm tra lại xem.....

1/ Ý tưởng sẻ dùng nó bảo vệ file Excel theo máy code viết hết vào file *.dll khi mở Excel nó sẻ kiểm

tra mã máy và tạo ra mã sử dụng luôn ..nếu mã sử dụng đúng thì cho chạy ...nếu sai thì chào.....


2/ Hay ở chỗ chạy trên máy mới thì nó tự đổi mã theo máy đó bắt buộc phải có mã mới . Mới sử dụng

được

xin cảm ơn bạn đã tham gia
 
Lần chỉnh sửa cuối:
Bạn giải nén file đó ra trong đó có 3 file. bạn chạy File Install DLL.bat để đăng ký với widows

xong mở file Excel lên xóa hết mấy cái mã cũ đi bấm lay ma HD Vb6 nó cho bạn 2 mã hai bên

[B4] là mã máy [D4] là giải mã bạn bấm check ma HD VB6 kiểm tra nhập bất kỳ mã nào vào [C4]

kiểm tra xem thế nào ... cuối cùng copy [D4] paste vào [C4] kiểm tra lại xem.....

1/ Ý tưởng sẻ dùng nó bảo vệ file Excel theo máy code viết hết vào file *.dll khi mở Excel nó sẻ kiểm

tra mã máy và tạo ra mã sử dụng luôn ..nếu mã sử dụng đúng thì cho chạy ...nếu sai thì chào.....


2/ Hay ở chỗ chạy trên máy mới thì nó tự đổi mã theo máy đó bắt buộc phải có mã mới . Mới sử dụng

được

xin cảm ơn bạn đã tham gia
Những điều trên anh giải thích em hiểu rồi ạ! Cảm ơn anh nhiều!
Anh có thể đưa em xin 1 File ví dụ về vệc bắt buộc phải chạy File dll mới sử dụng được File Excel không ạ?
 
Những điều trên anh giải thích em hiểu rồi ạ! Cảm ơn anh nhiều!
Anh có thể đưa em xin 1 File ví dụ về vệc bắt buộc phải chạy File dll mới sử dụng được File Excel không ạ?
thì bạn không đăng ký thì hết chạy thế thôi....code chương trình viết hết vào file *.dll nếu muốn sử dụng bắt

buộc phải chạy nó... đơn giản mà

nếu bạn không chạy file đăng ký mở Excel lên vẫn được nhưng trong đó trả có gì cho mà coi cả.....như một file

bình thường thôi .....
 
thì bạn không đăng ký thì hết chạy thế thôi....code chương trình viết hết vào file *.dll nếu muốn sử dụng bắt

buộc phải chạy nó... đơn giản mà

nếu bạn không chạy file đăng ký mở Excel lên vẫn được nhưng trong đó trả có gì cho mà coi cả.....như một file

bình thường thôi .....
Em đã hiểu rồi anh ạ! Giờ em muốn ứng dụng File của anh vào bảo mật 1 số ứng dụng nhỏ em viết thì có được không anh? Mong anh giúp đỡ! Cảm ơn anh!
 
Em đã hiểu rồi anh ạ! Giờ em muốn ứng dụng File của anh vào bảo mật 1 số ứng dụng nhỏ em viết thì có được không anh? Mong anh giúp đỡ! Cảm ơn anh!
thực ra code trong file đó là có GPE hết mình copy về chế một tẹo là xong...
Bạn đọc kỹ GPE đi sẽ thấy được code

Nếu bạn có khả năng thì mở File *.dll lên mà coi code....mà ứng dụng .... cái này mình cũng từng mở lên coi rồi nha....hahahaha

chúc thành công
xin cảm ơn....xin cảm ơn
 
Lần chỉnh sửa cuối:
Bạn giải nén file đó ra trong đó có 3 file. bạn chạy File Install DLL.bat để đăng ký với widows

xong mở file Excel lên xóa hết mấy cái mã cũ đi bấm lay ma HD Vb6 nó cho bạn 2 mã hai bên

[B4] là mã máy [D4] là giải mã bạn bấm check ma HD VB6 kiểm tra nhập bất kỳ mã nào vào [C4]

kiểm tra xem thế nào ... cuối cùng copy [D4] paste vào [C4] kiểm tra lại xem.....
Em cũng rất khoái cái này. Em đọc từ bài đầu, tải file của bác về và... đọc đến đoạn hướng dẫn này của bác em đứt hơi luôn.

Anh có thể đưa em xin 1 File ví dụ về vệc bắt buộc phải chạy File dll mới sử dụng được File Excel không ạ?
Ý của bạn này là muốn có một file trong đó có dữ liệu gì đó mà khi không làm theo yêu cầu của bác thì không có gì để xem. Ngược lại, nếu bạn ấy làm đúng theo yêu cầu thì có cái gì đó để xem ngoài cái nhìn thấy lúc mở file lên.
Em hết ý kiến ạ.
 
Ý của bạn này là muốn có một file trong đó có dữ liệu gì đó mà khi không làm theo yêu cầu của bác thì không có gì để xem. Ngược lại, nếu bạn ấy làm đúng theo yêu cầu thì có cái gì đó để xem ngoài cái nhìn thấy lúc mở file lên.
Em hết ý kiến ạ.
Chính xác là như vậy đó ạ!
 
Mã ở ô bên cạnh đó copy qua là ok [lấy mã đăng ký ]
Nhờ bạn thử trên vài máy xem thế nào nha

mới coi lại mã đó lã mã máy mình mà.... bạn xóa mấy cái mã đó đi bấm lấy mã mới ...giải mã bên cạnh luôn

xin cảm ơn
Tặng bạn Kiều Mạnh file đã patch, nhập mã bất kỳ để đăng ký!
 

File đính kèm

Thực ra mình dùng phương pháp crack đơn giản nhất thôi "không quản lý được thì cấm". Trước đây mình hay nghịch mấy cái này, giờ không cần nữa nên quên hết rồi.
 
Thực ra mình dùng phương pháp crack đơn giản nhất thôi "không quản lý được thì cấm". Trước đây mình hay nghịch mấy cái này, giờ không cần nữa nên quên hết rồi.
mình hỏi thật một câu nha .... bạn mở file *.dll lên sửa lại code à...

mình thì đọc được một ít.....

cảm ơn bạn nhiều
 
Lần chỉnh sửa cuối:
mình hỏi thật một câu nha .... bạn mở file *.dll lên sửa lại code à...

mình thì đọc được một ít.....

cảm ơn bạn nhiều
Dùng các chương trình dịch ngược, tìm đến đoạn "Ma dang ky sai", xóa lệnh gọi nó là xong. Patch thế này cũng không cần phải biết sâu về hợp ngữ đâu.
 
Dùng các chương trình dịch ngược, tìm đến đoạn "Ma dang ky sai", xóa lệnh gọi nó là xong. Patch thế này cũng không cần phải biết sâu về hợp ngữ đâu.
mình hiểu rồi...sau đó lưu lại ....vậy có cách gì chống được không xin chỉ thêm
mình cũng có tìm hiểu cách chống dịch ngược nhưng chưa hiểu lắm

code bạn đọc được bao nhiêu % trong đó.... nếu vậy chắc đọc hết quá....
 
"Chống" mà được thì VN ta khỏi xài được Windows của anh Bill là cái chắc
Bao nhiêu phần mềm hay trên mạng, vừa mới ra lò, nó crack chỉ trong 5 phút
Em cũng có tìm hiểu rồi nói chung không được Anh ..... ngại ghê cứ nghĩ File *.dll là an toàn cuối cùng cũng banh ta lông ... hahaha
 
Bác dùng chương trình chống dịch ngược file .dll
Ví dụ: Macrobject Obfuscator
Link tham khảo: http://www.mediafire.com/?4thrjqdhimk
Tuy nhiên, bản windows của bác Bill còn bẻ khóa được thì e rằng cái này cũng chỉ có tác dụng phần nào thôi.
 
mình hiểu rồi...sau đó lưu lại ....vậy có cách gì chống được không xin chỉ thêm
mình cũng có tìm hiểu cách chống dịch ngược nhưng chưa hiểu lắm

code bạn đọc được bao nhiêu % trong đó.... nếu vậy chắc đọc hết quá....
Mình nghĩ đối với file này nếu biết hợp ngữ sẽ viết được key.gen dễ dàng. Do mình quên rồi nên chỉ patch thôi, chắc đọc được 0.1%. Còn chống dịch ngược thì mình không tìm hiểu, không có gì tuyệt đối cả đâu.
 
Mình nghĩ đối với file này nếu biết hợp ngữ sẽ viết được key.gen dễ dàng. Do mình quên rồi nên chỉ patch thôi, chắc đọc được 0.1%. Còn chống dịch ngược thì mình không tìm hiểu, không có gì tuyệt đối cả đâu.
Mừng hụt .... Nảm quá chúc các Bạn mạnh khỏe ngủ ngon và một ngày mới tốt lành
xin cảm ơn
 
LockXLS mình không sử dụng nên không biết. Khi nào có thời gian mình sẽ post cách patch.
 
Mình vẫn thường mơ ước rằng có thể viết được phần mềm thật hay, đến mức người ta tranh nhau.. crack để xài. Chắc là "hảnh diện" lắm.
Nhưng mình vẫn nhận thức được tầm cở như mình mà viết phần mềm thì cứ gọi là... yên tâm rằng phần mềm ấy rất an toàn vì chả ma nào nó thèm crack... năn nỉ cho không biết người ta có xài không chứ...
Bởi vậy các bạn cũng đừng vội nản chí, cứ làm thoải mái đi...--=0
 
Lần chỉnh sửa cuối:
Mình vẫn thường mơ ước rằng có thể viết được phần mềm thật hay, đến mức người ta tranh nhau.. crack để xài. Chắc là "hảnh diện" lắm.
Nhưng mình vẫn nhận thức được tầm cở như mình mà viết phần mềm thì cứ gọi là... yên tâm rằng phần mềm ấy rất an toàn vì chả ma nào nó thèm crack... năn nỉ cho không biết người ta có xài không chứ...
Bởi vậy các bạn cũng đừng vội nản chí, cứ làm thoải mái đi...--=0
Còn em làm gì cũng "cứng", bởi vậy không dám thò ra, người ta mà crack (bẻ gãy) là tiêu!
 
Còn em làm gì cũng "cứng", bởi vậy không dám thò ra, người ta mà crack (bẻ gãy) là tiêu!
Thật sự mình viết được cái file đó thấy cũng vui..... qua thử lửa mình cảm thấy khoái vì càng làm cho mình tập chung nghiên cứu và từng bước nâng cao code két thêm
cái gì cũng có mặt trái của nó có sự phản biện thì phải nổ lực cố giắng hơn....
 
Mã:
110030F5   . 66:399D 04FFFF>CMP WORD PTR SS:[EBP-FC],BX
110030FC   . B9 04000280    MOV ECX,80020004
11003101   . B8 0A000000    MOV EAX,0A
11003106   . 894D 9C        MOV DWORD PTR SS:[EBP-64],ECX
11003109   . 8945 94        MOV DWORD PTR SS:[EBP-6C],EAX
1100310C   . 894D AC        MOV DWORD PTR SS:[EBP-54],ECX
1100310F   . 8945 A4        MOV DWORD PTR SS:[EBP-5C],EAX
11003112   . 74 79          JE SHORT LicenseE.1100318D

11003114   . 8D95 64FFFFFF  LEA EDX,DWORD PTR SS:[EBP-9C]
1100311A   . 8D4D B4        LEA ECX,DWORD PTR SS:[EBP-4C]
1100311D   . C785 6CFFFFFF >MOV DWORD PTR SS:[EBP-94],LicenseE.11001>;  UNICODE "Xin Chuc Mung"
11003127   . C785 64FFFFFF >MOV DWORD PTR SS:[EBP-9C],8
11003131   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
11003137   . 8D95 74FFFFFF  LEA EDX,DWORD PTR SS:[EBP-8C]
1100313D   . 8D4D C4        LEA ECX,DWORD PTR SS:[EBP-3C]
11003140   . C785 7CFFFFFF >MOV DWORD PTR SS:[EBP-84],LicenseE.11001>;  UNICODE "Ma Dang Ky Dung"
1100314A   . C785 74FFFFFF >MOV DWORD PTR SS:[EBP-8C],8
11003154   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
1100315A   . 8D45 94        LEA EAX,DWORD PTR SS:[EBP-6C]
1100315D   . 8D4D A4        LEA ECX,DWORD PTR SS:[EBP-5C]
11003160   . 50             PUSH EAX
11003161   . 8D55 B4        LEA EDX,DWORD PTR SS:[EBP-4C]
11003164   . 51             PUSH ECX
11003165   . 52             PUSH EDX
11003166   . 8D45 C4        LEA EAX,DWORD PTR SS:[EBP-3C]
11003169   . 53             PUSH EBX
1100316A   . 50             PUSH EAX
1100316B   . FF15 58100011  CALL DWORD PTR DS:[<&MSVBVM60.#595>]     ;  MSVBVM60.rtcMsgBox
11003171   . 8D4D 94        LEA ECX,DWORD PTR SS:[EBP-6C]
11003174   . 8D55 A4        LEA EDX,DWORD PTR SS:[EBP-5C]
11003177   . 51             PUSH ECX
11003178   . 8D45 B4        LEA EAX,DWORD PTR SS:[EBP-4C]
1100317B   . 52             PUSH EDX
1100317C   . 8D4D C4        LEA ECX,DWORD PTR SS:[EBP-3C]
1100317F   . 50             PUSH EAX
11003180   . 51             PUSH ECX
11003181   . 6A 04          PUSH 4
11003183   . FFD7           CALL EDI
11003185   . 83C4 14        ADD ESP,14
11003188   . E9 28010000    JMP LicenseE.110032B5

1100318D   > 8D95 64FFFFFF  LEA EDX,DWORD PTR SS:[EBP-9C]
11003193   . 8D4D B4        LEA ECX,DWORD PTR SS:[EBP-4C]
11003196   . C785 6CFFFFFF >MOV DWORD PTR SS:[EBP-94],LicenseE.11001>;  UNICODE "Kiem Tra Lai"
110031A0   . C785 64FFFFFF >MOV DWORD PTR SS:[EBP-9C],8
110031AA   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
110031B0   . 8D95 74FFFFFF  LEA EDX,DWORD PTR SS:[EBP-8C]
110031B6   . 8D4D C4        LEA ECX,DWORD PTR SS:[EBP-3C]
110031B9   . C785 7CFFFFFF >MOV DWORD PTR SS:[EBP-84],LicenseE.11001>;  UNICODE "Ma Dang Ky Sai ????"
110031C3   . C785 74FFFFFF >MOV DWORD PTR SS:[EBP-8C],8
110031CD   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
Đây là đoạn code có được khi dùng chương trình dịch ngược (yêu cầu phải biết 1 ít về hợp ngữ). Các khối lệnh mình đã viết cách ra. Lệnh CMP ở đầu khối 1 sẽ so sánh, lệnh JE sẽ nhảy xuống khối 3 nếu mã sai. Khối 2 là đoạn lệnh khi mã đăng ký đúng. Để patch thì ta sửa lệnh JE... thành NOP để không nhảy đến 3 nữa mà chạy tiếp khối 2. Nếu có nhiều lệnh dạng như JE trên thì có thể sửa lệnh đầu tiên khối 3 thành lệnh nhảy về khối 2.
Mình nhắc lại đây là kỹ thuật crack đơn giản nhất, không cần hiểu code của bạn làm gì.
 
Thật sự mình viết được cái file đó thấy cũng vui..... qua thử lửa mình cảm thấy khoái vì càng làm cho mình tập chung nghiên cứu và từng bước nâng cao code két thêm
cái gì cũng có mặt trái của nó có sự phản biện thì phải nổ lực cố giắng hơn....

Viết để tìm hiểu là điều tốt. Bởi thử sức và dần dần hoàn thiện sẽ giúp ta được "nâng cấp" hơn
Công cụ luôn luôn có sẵn, vấn đề là chúng ta dùng thế nào cho nó hiệu quả mà thôi
 
Mã:
110030F5   . 66:399D 04FFFF>CMP WORD PTR SS:[EBP-FC],BX
110030FC   . B9 04000280    MOV ECX,80020004
11003101   . B8 0A000000    MOV EAX,0A
11003106   . 894D 9C        MOV DWORD PTR SS:[EBP-64],ECX
11003109   . 8945 94        MOV DWORD PTR SS:[EBP-6C],EAX
1100310C   . 894D AC        MOV DWORD PTR SS:[EBP-54],ECX
1100310F   . 8945 A4        MOV DWORD PTR SS:[EBP-5C],EAX
11003112   . 74 79          JE SHORT LicenseE.1100318D

11003114   . 8D95 64FFFFFF  LEA EDX,DWORD PTR SS:[EBP-9C]
1100311A   . 8D4D B4        LEA ECX,DWORD PTR SS:[EBP-4C]
1100311D   . C785 6CFFFFFF >MOV DWORD PTR SS:[EBP-94],LicenseE.11001>;  UNICODE "Xin Chuc Mung"
11003127   . C785 64FFFFFF >MOV DWORD PTR SS:[EBP-9C],8
11003131   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
11003137   . 8D95 74FFFFFF  LEA EDX,DWORD PTR SS:[EBP-8C]
1100313D   . 8D4D C4        LEA ECX,DWORD PTR SS:[EBP-3C]
11003140   . C785 7CFFFFFF >MOV DWORD PTR SS:[EBP-84],LicenseE.11001>;  UNICODE "Ma Dang Ky Dung"
1100314A   . C785 74FFFFFF >MOV DWORD PTR SS:[EBP-8C],8
11003154   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
1100315A   . 8D45 94        LEA EAX,DWORD PTR SS:[EBP-6C]
1100315D   . 8D4D A4        LEA ECX,DWORD PTR SS:[EBP-5C]
11003160   . 50             PUSH EAX
11003161   . 8D55 B4        LEA EDX,DWORD PTR SS:[EBP-4C]
11003164   . 51             PUSH ECX
11003165   . 52             PUSH EDX
11003166   . 8D45 C4        LEA EAX,DWORD PTR SS:[EBP-3C]
11003169   . 53             PUSH EBX
1100316A   . 50             PUSH EAX
1100316B   . FF15 58100011  CALL DWORD PTR DS:[<&MSVBVM60.#595>]     ;  MSVBVM60.rtcMsgBox
11003171   . 8D4D 94        LEA ECX,DWORD PTR SS:[EBP-6C]
11003174   . 8D55 A4        LEA EDX,DWORD PTR SS:[EBP-5C]
11003177   . 51             PUSH ECX
11003178   . 8D45 B4        LEA EAX,DWORD PTR SS:[EBP-4C]
1100317B   . 52             PUSH EDX
1100317C   . 8D4D C4        LEA ECX,DWORD PTR SS:[EBP-3C]
1100317F   . 50             PUSH EAX
11003180   . 51             PUSH ECX
11003181   . 6A 04          PUSH 4
11003183   . FFD7           CALL EDI
11003185   . 83C4 14        ADD ESP,14
11003188   . E9 28010000    JMP LicenseE.110032B5

1100318D   > 8D95 64FFFFFF  LEA EDX,DWORD PTR SS:[EBP-9C]
11003193   . 8D4D B4        LEA ECX,DWORD PTR SS:[EBP-4C]
11003196   . C785 6CFFFFFF >MOV DWORD PTR SS:[EBP-94],LicenseE.11001>;  UNICODE "Kiem Tra Lai"
110031A0   . C785 64FFFFFF >MOV DWORD PTR SS:[EBP-9C],8
110031AA   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
110031B0   . 8D95 74FFFFFF  LEA EDX,DWORD PTR SS:[EBP-8C]
110031B6   . 8D4D C4        LEA ECX,DWORD PTR SS:[EBP-3C]
110031B9   . C785 7CFFFFFF >MOV DWORD PTR SS:[EBP-84],LicenseE.11001>;  UNICODE "Ma Dang Ky Sai ????"
110031C3   . C785 74FFFFFF >MOV DWORD PTR SS:[EBP-8C],8
110031CD   . FF15 E0100011  CALL DWORD PTR DS:[<&MSVBVM60.__vbaVarDu>;  MSVBVM60.__vbaVarDup
Đây là đoạn code có được khi dùng chương trình dịch ngược (yêu cầu phải biết 1 ít về hợp ngữ). Các khối lệnh mình đã viết cách ra. Lệnh CMP ở đầu khối 1 sẽ so sánh, lệnh JE sẽ nhảy xuống khối 3 nếu mã sai. Khối 2 là đoạn lệnh khi mã đăng ký đúng. Để patch thì ta sửa lệnh JE... thành NOP để không nhảy đến 3 nữa mà chạy tiếp khối 2. Nếu có nhiều lệnh dạng như JE trên thì có thể sửa lệnh đầu tiên khối 3 thành lệnh nhảy về khối 2.
Mình nhắc lại đây là kỹ thuật crack đơn giản nhất, không cần hiểu code của bạn làm gì.
bạn có thể cho biết biết bạn sử dụng tools đó tên gì ko
 
Mình dùng Olly debug. Rất nhiều tool làm được việc này.
 
Mình không tải được do mạng chậm, chương trình có icon hình như con sao biển đấy.
To phihndhsp: đây là dịch ngược từ mã máy sang assembly chứ không phải dịch xuôi.
Nhờ Bạn Hau151978 Crack lại dùm ....Mình mới viết lại code theo kiểu A keo B nếu ok thì B lại keo C nếu C ok thì Keo A......không biết có được không nũa .... cũng không dám tin vào khả năng mì tôm cua nữa --=0--=0--=0
Xin cảm ơn
Link Sau
http://www.mediafire.com/download/mdsfo92wl9fcbwe/LicenseExcel3.rar
 
Lần chỉnh sửa cuối:
Khoảng 1 tuần tới mình bận rồi, nghịch cái này phải có thời gian rỗi, để chủ nhật mày mò xem sao.
 
Trong khi chờ đợi Bạn Hau151978 xử lý File Bài #45 thì xin mời các Bạn nếu ai có khả năng Hack được Bài #45 thì xin mời tham gia một tí cho thên phần xôi động...

Trong gần một tuần mình chờ bạn hau151978 thì mình cũng tiến hành vọc một số Tools trình dịch ngược code thấy như sau

1/ Một số trình dịch có khả năng dịch ngược được code trong File thư viên *.dll và .exe nhưng để đọc và hiểu hết nó là cả một vấn đề khó....

2/ Hầu hết các hacker thường sử dụng OllyDbg để Debug code coi Pass trong File *.exe kết nối với Access và chặn từng dòng code trong File *.dll và *.exe ....chứ không sửa và viết thêm code vào được.....

3/ Mình có thử một file .exe viết bằng VB6 kết nối với Access.. Qua Vọc OllyDbg thì thấy được Pass kết nối của nó với File Access sau đó mình mở file Access lên nhập pass đó vào thì ok .... sau đó mình lại tiếp tục thử file khác thấy pass nhưng mở lên không được ...phải chăng Pass đã được mã hóa hay gì gì đó....sự khác biệt này là một vấn đề khó.....

4/ File hôm trước mình viết úp lên bạn hậu Patch được mình nghỉ là do mình dùng If và Elseif các điều kiện chung trong một sub .... nên Bạn hau Patch bằng cách chặn nó lại giống như mình Debug code trong VBA....

Vì vậy code Bài #45 mình đã thay đổi cách khác sử dụng If (...) Then và chia ra làm 3 sub khác nhau vì vậy khả năng chặn là khó....Nếu vẫn Hack được thì mình đã nghĩ còn một cách cuối cùng sử dụng Sub 1 nạp tham số gọi sub 2 chạy ..Sub 2 nhận tham số của sub1 chạy ...nếu chặn một trong 2 sub thì Tèo téo teo luôn....

5/ Vấn đề viết Code vào File thư viện *.dll là bảo mật tốt nhất hiên nay nhưng để tốt hơn mình phải có kỷ thuật và thuật toán cao cấp hơn đan xen trong đó thì cho dù bạn có dùng Tools gì chăng nữa thì khả năng Hack được khoảng vài %....và không phải ai cũng hack được

Rất mong các Bạn có kiến thức uyên thâm chỉ thêm...
trên đây mới chỉ là cảm nhận bước đầu của Mình sau khi nghiên cứu và Vọc một số Tools trình dich ngược

Xin cảm ơn các Bạn tham gia
 
Lần chỉnh sửa cuối:
nhờ các cao thủ tìm hộ
17F7-67CD-DAEA-8439
 
Cả một ngày hôm này mãi mê cái đề tài này quên cả ăn trưa mới viết xong được cái code bảo

mật File Excel theo ID máy ....Ngửa mặt lên trời hahaha --=0--=0 như chưa bao giờ hahaha

bao giờ .....đã ghê


1/ Mỗi lần mở file lên trên một máy bất kỳ là nó tạo một cái ID mới và một mã đăng ký mới nếu nhập đúng mã thì sử dụng File ... Nếu sai thì Tèo chẳng hạn....

2/ Nếu ai muốn sử dụng file thì nhắn mã qua mình cũng cấp cho mã đăng ký là Ok

3/ trong file mình làm luôn phần giải mã rồi nhờ các Bạn tải về kiểm tra cho ý kiếm
4/ hay nhất ở chỗ chỉ nhắn mã qua là mình cho mã sử dụng ko phải viết lại code .....--=----=----=--

5/Luu y giai ma Cells D4
Xin cảm ơn Các Bạn GPE Kiểm tra dùm cho ý kiến để mình hoàn thiện hơn....Xin cảm ơn...Xin cảm ơn

Link tải File
http://www.mediafire.com/download/gx62x52vj9i4xg6/License_Excel.rar

Link die rồi Bác ơi.
 
Cả một ngày hôm này mãi mê cái đề tài này quên cả ăn trưa mới viết xong được cái code bảo

mật File Excel theo ID máy ....Ngửa mặt lên trời hahaha --=0--=0 như chưa bao giờ hahaha

bao giờ .....đã ghê


1/ Mỗi lần mở file lên trên một máy bất kỳ là nó tạo một cái ID mới và một mã đăng ký mới nếu nhập đúng mã thì sử dụng File ... Nếu sai thì Tèo chẳng hạn....

2/ Nếu ai muốn sử dụng file thì nhắn mã qua mình cũng cấp cho mã đăng ký là Ok

3/ trong file mình làm luôn phần giải mã rồi nhờ các Bạn tải về kiểm tra cho ý kiếm
4/ hay nhất ở chỗ chỉ nhắn mã qua là mình cho mã sử dụng ko phải viết lại code .....--=----=----=--

5/Luu y giai ma Cells D4
Xin cảm ơn Các Bạn GPE Kiểm tra dùm cho ý kiến để mình hoàn thiện hơn....Xin cảm ơn...Xin cảm ơn

Link tải File
http://www.mediafire.com/download/gx62x52vj9i4xg6/License_Excel.rar
Link die rồi bạn. Bạn có thể gởi lại được không. Thanks bạn nhiều
 
Cả một ngày hôm này mãi mê cái đề tài này quên cả ăn trưa mới viết xong được cái code bảo

mật File Excel theo ID máy ....Ngửa mặt lên trời hahaha--=0--=0 như chưa bao giờ hahaha

bao giờ .....đã ghê

1/ Mỗi lần mở file lên trên một máy bất kỳ là nó tạo một cái ID mới và một mã đăng ký mới nếu nhập đúng mã thì sử dụng File ... Nếu sai thì Tèo chẳng hạn....

2/ Nếu ai muốn sử dụng file thì nhắn mã qua mình cũng cấp cho mã đăng ký là Ok

3/ trong file mình làm luôn phần giải mã rồi nhờ các Bạn tải về kiểm tra cho ý kiếm
4/ hay nhất ở chỗ chỉ nhắn mã qua là mình cho mã sử dụng ko phải viết lại code .....--=----=----=--

5/Luu y giai ma Cells D4
Xin cảm ơn Các Bạn GPE Kiểm tra dùm cho ý kiến để mình hoàn thiện hơn....Xin cảm ơn...Xin cảm ơn

Link tải File
http://www.mediafire.com/download/gx62x52vj9i4xg6/License_Excel.rar
anh mạnh ơi cho em xin file này của anh được không. link tải ko tải được. nếu được a cho em vào mail nguyenhaik52912@gmail.com. cám ơn anh nhiều
 
Hiện nay các cách bảo mật chỉ tương đối mình có cách này mong các bác chỉ giáo.Key kích hoạt theo mã máy cộng với chuỗi mã nguồn thay đổi , mã hóa key đó ,dù có crack được một thời gian sẽ bắt kích hoạt lại, dó chương trình bị lỗi, lỗi này không phải do viết sai code mà do chuỗi đã bị thay đổi (mã nguồn web) ko đáp ứng được khi kích hoạt.. cái này dang update key
 
Có cái mã này nhờ các cao thủ tìm hộ License giúp mình với.

6C7C65656B495B405E563F51555A3B544D5654
 
có cái mã máy này mà tìm dược cái key được mới tài
Code để tạo ra nó là:

Option Explicit

Private Const OFFSET_4 = 4294967296#
Private Const MAXINT_4 = 2147483647
Private State(4) As Long
Private ByteCounter As Long
Private ByteBuffer(63) As Byte
Private Const S11 = 7
Private Const S12 = 12
Private Const S13 = 17
Private Const S14 = 22
Private Const S21 = 5
Private Const S22 = 9
Private Const S23 = 14
Private Const S24 = 20
Private Const S31 = 4
Private Const S32 = 11
Private Const S33 = 16
Private Const S34 = 23
Private Const S41 = 6
Private Const S42 = 10
Private Const S43 = 15
Private Const S44 = 21

Property Get RegisterA() As String
RegisterA = State(1)
End Property

Property Get RegisterB() As String
RegisterB = State(2)
End Property

Property Get RegisterC() As String
RegisterC = State(3)
End Property

Property Get RegisterD() As String
RegisterD = State(4)
End Property

' Function to digest a text string and output the result as a string
' of hexadecimal characters.

Public Function DigestStrToHexStr(SourceString As String) As String
MD5Init
MD5Update Len(SourceString), StringToArray(SourceString)
MD5Final
DigestStrToHexStr = GetValues
End Function

' Function to quickly digest a file into a hex string

Public Function DigestFileToHexStr(InFile As String) As String
On Error GoTo ErrorHandler

GoSub begin

ErrorHandler:
DigestFileToHexStr = ""
Exit Function

begin:
Dim FileO As Integer
FileO = FreeFile
Call FileLen(InFile)
Open InFile For Binary Access Read As #FileO
MD5Init
Do While Not EOF(FileO)
Get #FileO, , ByteBuffer
If Loc(FileO) < LOF(FileO) Then
ByteCounter = ByteCounter + 64
MD5Transform ByteBuffer
End If
Loop
ByteCounter = ByteCounter + (LOF(FileO) Mod 64)
Close #FileO
MD5Final
DigestFileToHexStr = GetValues
End Function

' A utility function which converts a string into an array of
' bytes

Private Function StringToArray(InString As String) As Byte()
Dim i As Integer, bytBuffer() As Byte
ReDim bytBuffer(Len(InString))
For i = 0 To Len(InString) - 1
bytBuffer(i) = Asc(Mid$(InString, i + 1, 1))
Next i
StringToArray = bytBuffer
End Function

' Concatenate the four state vaules into one string

Public Function GetValues() As String
GetValues = LongToString(State(1)) & LongToString(State(2)) & LongToString(State(3)) & LongToString(State(4))
End Function

' Convert a Long to a Hex string

Private Function LongToString(NUM As Long) As String
Dim A As Byte, B As Byte, C As Byte, d As Byte
A = NUM And &HFF&
If A < 16 Then LongToString = "0" & Hex(A) Else LongToString = Hex(A)
B = (NUM And &HFF00&) \ 256
If B < 16 Then LongToString = LongToString & "0" & Hex(B) Else LongToString = LongToString & Hex(B)
C = (NUM And &HFF0000) \ 65536
If C < 16 Then LongToString = LongToString & "0" & Hex(C) Else LongToString = LongToString & Hex(C)
If NUM < 0 Then d = ((NUM And &H7F000000) \ 16777216) Or &H80& Else d = (NUM And &HFF000000) \ 16777216
If d < 16 Then LongToString = LongToString & "0" & Hex(d) Else LongToString = LongToString & Hex(d)
End Function

' Initialize the class
' This must be called before a digest calculation is started

Public Sub MD5Init()
ByteCounter = 0
State(1) = UnsignedToLong(1732584193#)
State(2) = UnsignedToLong(4023233417#)
State(3) = UnsignedToLong(2562383102#)
State(4) = UnsignedToLong(271733878#)
End Sub

Public Sub MD5Final()
Dim dblBits As Double, Padding(72) As Byte, lngBytesBuffered As Long
Padding(0) = &H80
dblBits = ByteCounter * 8
lngBytesBuffered = ByteCounter Mod 64
If lngBytesBuffered <= 56 Then MD5Update 56 - lngBytesBuffered, Padding Else MD5Update 120 - ByteCounter, Padding
Padding(0) = UnsignedToLong(dblBits) And &HFF&
Padding(1) = UnsignedToLong(dblBits) \ 256 And &HFF&
Padding(2) = UnsignedToLong(dblBits) \ 65536 And &HFF&
Padding(3) = UnsignedToLong(dblBits) \ 16777216 And &HFF&
Padding(4) = 0
Padding(5) = 0
Padding(6) = 0
Padding(7) = 0
MD5Update 8, Padding
End Sub

' Break up input stream into 64 byte chunks

Public Sub MD5Update(InputLen As Long, InputBuffer() As Byte)
Dim II As Integer, i As Integer, J As Integer, K As Integer, lngBufferedBytes As Long, lngBufferRemaining As Long, lngRem As Long

lngBufferedBytes = ByteCounter Mod 64
lngBufferRemaining = 64 - lngBufferedBytes
ByteCounter = ByteCounter + InputLen

If InputLen >= lngBufferRemaining Then
For II = 0 To lngBufferRemaining - 1
ByteBuffer(lngBufferedBytes + II) = InputBuffer(II)
Next II
MD5Transform ByteBuffer
lngRem = (InputLen) Mod 64
For i = lngBufferRemaining To InputLen - II - lngRem Step 64
For J = 0 To 63
ByteBuffer(J) = InputBuffer(i + J)
Next J
MD5Transform ByteBuffer
Next i
lngBufferedBytes = 0
Else
i = 0
End If
For K = 0 To InputLen - i - 1
ByteBuffer(lngBufferedBytes + K) = InputBuffer(i + K)
Next K
End Sub

Private Sub MD5Transform(Buffer() As Byte)
Dim x(16) As Long, A As Long, B As Long, C As Long, d As Long

A = State(1)
B = State(2)
C = State(3)
d = State(4)
Decode 64, x, Buffer
FF A, B, C, d, x(0), S11, -680876936
FF d, A, B, C, x(1), S12, -389564586
FF C, d, A, B, x(2), S13, 606105819
FF B, C, d, A, x(3), S14, -1044525330
FF A, B, C, d, x(4), S11, -176418897
FF d, A, B, C, x(5), S12, 1200080426
FF C, d, A, B, x(6), S13, -1473231341
FF B, C, d, A, x(7), S14, -45705983
FF A, B, C, d, x(8), S11, 1770035416
FF d, A, B, C, x(9), S12, -1958414417
FF C, d, A, B, x(10), S13, -42063
FF B, C, d, A, x(11), S14, -1990404162
FF A, B, C, d, x(12), S11, 1804603682
FF d, A, B, C, x(13), S12, -40341101
FF C, d, A, B, x(14), S13, -1502002290
FF B, C, d, A, x(15), S14, 1236535329

GG A, B, C, d, x(1), S21, -165796510
GG d, A, B, C, x(6), S22, -1069501632
GG C, d, A, B, x(11), S23, 643717713
GG B, C, d, A, x(0), S24, -373897302
GG A, B, C, d, x(5), S21, -701558691
GG d, A, B, C, x(10), S22, 38016083
GG C, d, A, B, x(15), S23, -660478335
GG B, C, d, A, x(4), S24, -405537848
GG A, B, C, d, x(9), S21, 568446438
GG d, A, B, C, x(14), S22, -1019803690
GG C, d, A, B, x(3), S23, -187363961
GG B, C, d, A, x(8), S24, 1163531501
GG A, B, C, d, x(13), S21, -1444681467
GG d, A, B, C, x(2), S22, -51403784
GG C, d, A, B, x(7), S23, 1735328473
GG B, C, d, A, x(12), S24, -1926607734

HH A, B, C, d, x(5), S31, -378558
HH d, A, B, C, x(8), S32, -2022574463
HH C, d, A, B, x(11), S33, 1839030562
HH B, C, d, A, x(14), S34, -35309556
HH A, B, C, d, x(1), S31, -1530992060
HH d, A, B, C, x(4), S32, 1272893353
HH C, d, A, B, x(7), S33, -155497632
HH B, C, d, A, x(10), S34, -1094730640
HH A, B, C, d, x(13), S31, 681279174
HH d, A, B, C, x(0), S32, -358537222
HH C, d, A, B, x(3), S33, -722521979
HH B, C, d, A, x(6), S34, 76029189
HH A, B, C, d, x(9), S31, -640364487
HH d, A, B, C, x(12), S32, -421815835
HH C, d, A, B, x(15), S33, 530742520
HH B, C, d, A, x(2), S34, -995338651

II A, B, C, d, x(0), S41, -198630844
II d, A, B, C, x(7), S42, 1126891415
II C, d, A, B, x(14), S43, -1416354905
II B, C, d, A, x(5), S44, -57434055
II A, B, C, d, x(12), S41, 1700485571
II d, A, B, C, x(3), S42, -1894986606
II C, d, A, B, x(10), S43, -1051523
II B, C, d, A, x(1), S44, -2054922799
II A, B, C, d, x(8), S41, 1873313359
II d, A, B, C, x(15), S42, -30611744
II C, d, A, B, x(6), S43, -1560198380
II B, C, d, A, x(13), S44, 1309151649
II A, B, C, d, x(4), S41, -145523070
II d, A, B, C, x(11), S42, -1120210379
II C, d, A, B, x(2), S43, 718787259
II B, C, d, A, x(9), S44, -343485551

State(1) = LongOverflowAdd(State(1), A)
State(2) = LongOverflowAdd(State(2), B)
State(3) = LongOverflowAdd(State(3), C)
State(4) = LongOverflowAdd(State(4), d)
End Sub

Private Sub Decode(Length As Integer, OutputBuffer() As Long, InputBuffer() As Byte) 'was private sub
Dim intDblIndex As Integer, intByteIndex As Integer, dblSum As Double
For intByteIndex = 0 To Length - 1 Step 4
dblSum = InputBuffer(intByteIndex) + InputBuffer(intByteIndex + 1) * 256# + InputBuffer(intByteIndex + 2) * 65536# + InputBuffer(intByteIndex + 3) * 16777216#
OutputBuffer(intDblIndex) = UnsignedToLong(dblSum)
intDblIndex = intDblIndex + 1
Next intByteIndex
End Sub

Private Function FF(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, (B And C) Or (Not (B) And d), x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Private Function GG(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, (B And d) Or (C And Not (d)), x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Private Function HH(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, B Xor C Xor d, x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Private Function II(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, C Xor (B Or Not (d)), x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Function LongLeftRotate(value As Long, Bits As Long) As Long
Dim lngSign As Long, lngI As Long
Bits = Bits Mod 32
If Bits = 0 Then LongLeftRotate = value: Exit Function
For lngI = 1 To Bits
lngSign = value And &HC0000000
value = (value And &H3FFFFFFF) * 2
value = value Or ((lngSign < 0) And 1) Or (CBool(lngSign And &H40000000) And &H80000000)
Next
LongLeftRotate = value
End Function

Private Function LongOverflowAdd(Val1 As Long, Val2 As Long) As Long
Dim lngHighWord As Long, lngLowWord As Long, lngOverflow As Long
lngLowWord = (Val1 And &HFFFF&) + (Val2 And &HFFFF&)
lngOverflow = lngLowWord \ 65536
lngHighWord = (((Val1 And &HFFFF0000) \ 65536) + ((Val2 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
LongOverflowAdd = UnsignedToLong((lngHighWord * 65536#) + (lngLowWord And &HFFFF&))
End Function

Private Function LongOverflowAdd4(Val1 As Long, Val2 As Long, val3 As Long, val4 As Long) As Long
Dim lngHighWord As Long, lngLowWord As Long, lngOverflow As Long
lngLowWord = (Val1 And &HFFFF&) + (Val2 And &HFFFF&) + (val3 And &HFFFF&) + (val4 And &HFFFF&)
lngOverflow = lngLowWord \ 65536
lngHighWord = (((Val1 And &HFFFF0000) \ 65536) + ((Val2 And &HFFFF0000) \ 65536) + ((val3 And &HFFFF0000) \ 65536) + ((val4 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
LongOverflowAdd4 = UnsignedToLong((lngHighWord * 65536#) + (lngLowWord And &HFFFF&))
End Function

Private Function UnsignedToLong(value As Double) As Long
If value < 0 Or value >= OFFSET_4 Then Error 6
If value <= MAXINT_4 Then UnsignedToLong = value Else UnsignedToLong = value - OFFSET_4
End Function

Private Function LongToUnsigned(value As Long) As Double
If value < 0 Then LongToUnsigned = value + OFFSET_4 Else LongToUnsigned = value
End Function
 
Lần chỉnh sửa cuối:
Cả một ngày hôm này mãi mê cái đề tài này quên cả ăn trưa mới viết xong được cái code bảo

mật File Excel theo ID máy ....Ngửa mặt lên trời hahaha--=0--=0 như chưa bao giờ hahaha

bao giờ .....đã ghê


1/ Mỗi lần mở file lên trên một máy bất kỳ là nó tạo một cái ID mới và một mã đăng ký mới nếu nhập đúng mã thì sử dụng File ... Nếu sai thì Tèo chẳng hạn....

2/ Nếu ai muốn sử dụng file thì nhắn mã qua mình cũng cấp cho mã đăng ký là Ok

3/ trong file mình làm luôn phần giải mã rồi nhờ các Bạn tải về kiểm tra cho ý kiếm
4/ hay nhất ở chỗ chỉ nhắn mã qua là mình cho mã sử dụng ko phải viết lại code .....--=----=----=--

5/Luu y giai ma Cells D4
Xin cảm ơn Các Bạn GPE Kiểm tra dùm cho ý kiến để mình hoàn thiện hơn....Xin cảm ơn...Xin cảm ơn

Link tải File
http://www.mediafire.com/download/gx62x52vj9i4xg6/License_Excel.rar
Bạn xóa link rồi hả?
 
Bạn giải nén file đó ra trong đó có 3 file. bạn chạy File Install DLL.bat để đăng ký với widows

xong mở file Excel lên xóa hết mấy cái mã cũ đi bấm lay ma HD Vb6 nó cho bạn 2 mã hai bên

[B4] là mã máy [D4] là giải mã bạn bấm check ma HD VB6 kiểm tra nhập bất kỳ mã nào vào [C4]

kiểm tra xem thế nào ... cuối cùng copy [D4] paste vào [C4] kiểm tra lại xem.....

1/ Ý tưởng sẻ dùng nó bảo vệ file Excel theo máy code viết hết vào file *.dll khi mở Excel nó sẻ kiểm

tra mã máy và tạo ra mã sử dụng luôn ..nếu mã sử dụng đúng thì cho chạy ...nếu sai thì chào.....


2/ Hay ở chỗ chạy trên máy mới thì nó tự đổi mã theo máy đó bắt buộc phải có mã mới . Mới sử dụng

được

xin cảm ơn bạn đã tham gia
Bài đã được tự động gộp:

Bạn ơi mình ấn vào giờ ko dùng được excel vba nữa. Giúp mình với HUHU
 
Mình nghĩ đối với file này nếu biết hợp ngữ sẽ viết được key.gen dễ dàng. Do mình quên rồi nên chỉ patch thôi, chắc đọc được 0.1%. Còn chống dịch ngược thì mình không tìm hiểu, không có gì tuyệt đối cả đâu.
Anh giúp em patch file này với
 

File đính kèm

Code để tạo ra nó là:

Option Explicit

Private Const OFFSET_4 = 4294967296#
Private Const MAXINT_4 = 2147483647
Private State(4) As Long
Private ByteCounter As Long
Private ByteBuffer(63) As Byte
Private Const S11 = 7
Private Const S12 = 12
Private Const S13 = 17
Private Const S14 = 22
Private Const S21 = 5
Private Const S22 = 9
Private Const S23 = 14
Private Const S24 = 20
Private Const S31 = 4
Private Const S32 = 11
Private Const S33 = 16
Private Const S34 = 23
Private Const S41 = 6
Private Const S42 = 10
Private Const S43 = 15
Private Const S44 = 21

Property Get RegisterA() As String
RegisterA = State(1)
End Property

Property Get RegisterB() As String
RegisterB = State(2)
End Property

Property Get RegisterC() As String
RegisterC = State(3)
End Property

Property Get RegisterD() As String
RegisterD = State(4)
End Property

' Function to digest a text string and output the result as a string
' of hexadecimal characters.

Public Function DigestStrToHexStr(SourceString As String) As String
MD5Init
MD5Update Len(SourceString), StringToArray(SourceString)
MD5Final
DigestStrToHexStr = GetValues
End Function

' Function to quickly digest a file into a hex string

Public Function DigestFileToHexStr(InFile As String) As String
On Error GoTo ErrorHandler

GoSub begin

ErrorHandler:
DigestFileToHexStr = ""
Exit Function

begin:
Dim FileO As Integer
FileO = FreeFile
Call FileLen(InFile)
Open InFile For Binary Access Read As #FileO
MD5Init
Do While Not EOF(FileO)
Get #FileO, , ByteBuffer
If Loc(FileO) < LOF(FileO) Then
ByteCounter = ByteCounter + 64
MD5Transform ByteBuffer
End If
Loop
ByteCounter = ByteCounter + (LOF(FileO) Mod 64)
Close #FileO
MD5Final
DigestFileToHexStr = GetValues
End Function

' A utility function which converts a string into an array of
' bytes

Private Function StringToArray(InString As String) As Byte()
Dim i As Integer, bytBuffer() As Byte
ReDim bytBuffer(Len(InString))
For i = 0 To Len(InString) - 1
bytBuffer(i) = Asc(Mid$(InString, i + 1, 1))
Next i
StringToArray = bytBuffer
End Function

' Concatenate the four state vaules into one string

Public Function GetValues() As String
GetValues = LongToString(State(1)) & LongToString(State(2)) & LongToString(State(3)) & LongToString(State(4))
End Function

' Convert a Long to a Hex string

Private Function LongToString(NUM As Long) As String
Dim A As Byte, B As Byte, C As Byte, d As Byte
A = NUM And &HFF&
If A < 16 Then LongToString = "0" & Hex(A) Else LongToString = Hex(A)
B = (NUM And &HFF00&) \ 256
If B < 16 Then LongToString = LongToString & "0" & Hex(B) Else LongToString = LongToString & Hex(B)
C = (NUM And &HFF0000) \ 65536
If C < 16 Then LongToString = LongToString & "0" & Hex(C) Else LongToString = LongToString & Hex(C)
If NUM < 0 Then d = ((NUM And &H7F000000) \ 16777216) Or &H80& Else d = (NUM And &HFF000000) \ 16777216
If d < 16 Then LongToString = LongToString & "0" & Hex(d) Else LongToString = LongToString & Hex(d)
End Function

' Initialize the class
' This must be called before a digest calculation is started

Public Sub MD5Init()
ByteCounter = 0
State(1) = UnsignedToLong(1732584193#)
State(2) = UnsignedToLong(4023233417#)
State(3) = UnsignedToLong(2562383102#)
State(4) = UnsignedToLong(271733878#)
End Sub

Public Sub MD5Final()
Dim dblBits As Double, Padding(72) As Byte, lngBytesBuffered As Long
Padding(0) = &H80
dblBits = ByteCounter * 8
lngBytesBuffered = ByteCounter Mod 64
If lngBytesBuffered <= 56 Then MD5Update 56 - lngBytesBuffered, Padding Else MD5Update 120 - ByteCounter, Padding
Padding(0) = UnsignedToLong(dblBits) And &HFF&
Padding(1) = UnsignedToLong(dblBits) \ 256 And &HFF&
Padding(2) = UnsignedToLong(dblBits) \ 65536 And &HFF&
Padding(3) = UnsignedToLong(dblBits) \ 16777216 And &HFF&
Padding(4) = 0
Padding(5) = 0
Padding(6) = 0
Padding(7) = 0
MD5Update 8, Padding
End Sub

' Break up input stream into 64 byte chunks

Public Sub MD5Update(InputLen As Long, InputBuffer() As Byte)
Dim II As Integer, i As Integer, J As Integer, K As Integer, lngBufferedBytes As Long, lngBufferRemaining As Long, lngRem As Long

lngBufferedBytes = ByteCounter Mod 64
lngBufferRemaining = 64 - lngBufferedBytes
ByteCounter = ByteCounter + InputLen

If InputLen >= lngBufferRemaining Then
For II = 0 To lngBufferRemaining - 1
ByteBuffer(lngBufferedBytes + II) = InputBuffer(II)
Next II
MD5Transform ByteBuffer
lngRem = (InputLen) Mod 64
For i = lngBufferRemaining To InputLen - II - lngRem Step 64
For J = 0 To 63
ByteBuffer(J) = InputBuffer(i + J)
Next J
MD5Transform ByteBuffer
Next i
lngBufferedBytes = 0
Else
i = 0
End If
For K = 0 To InputLen - i - 1
ByteBuffer(lngBufferedBytes + K) = InputBuffer(i + K)
Next K
End Sub

Private Sub MD5Transform(Buffer() As Byte)
Dim x(16) As Long, A As Long, B As Long, C As Long, d As Long

A = State(1)
B = State(2)
C = State(3)
d = State(4)
Decode 64, x, Buffer
FF A, B, C, d, x(0), S11, -680876936
FF d, A, B, C, x(1), S12, -389564586
FF C, d, A, B, x(2), S13, 606105819
FF B, C, d, A, x(3), S14, -1044525330
FF A, B, C, d, x(4), S11, -176418897
FF d, A, B, C, x(5), S12, 1200080426
FF C, d, A, B, x(6), S13, -1473231341
FF B, C, d, A, x(7), S14, -45705983
FF A, B, C, d, x(8), S11, 1770035416
FF d, A, B, C, x(9), S12, -1958414417
FF C, d, A, B, x(10), S13, -42063
FF B, C, d, A, x(11), S14, -1990404162
FF A, B, C, d, x(12), S11, 1804603682
FF d, A, B, C, x(13), S12, -40341101
FF C, d, A, B, x(14), S13, -1502002290
FF B, C, d, A, x(15), S14, 1236535329

GG A, B, C, d, x(1), S21, -165796510
GG d, A, B, C, x(6), S22, -1069501632
GG C, d, A, B, x(11), S23, 643717713
GG B, C, d, A, x(0), S24, -373897302
GG A, B, C, d, x(5), S21, -701558691
GG d, A, B, C, x(10), S22, 38016083
GG C, d, A, B, x(15), S23, -660478335
GG B, C, d, A, x(4), S24, -405537848
GG A, B, C, d, x(9), S21, 568446438
GG d, A, B, C, x(14), S22, -1019803690
GG C, d, A, B, x(3), S23, -187363961
GG B, C, d, A, x(8), S24, 1163531501
GG A, B, C, d, x(13), S21, -1444681467
GG d, A, B, C, x(2), S22, -51403784
GG C, d, A, B, x(7), S23, 1735328473
GG B, C, d, A, x(12), S24, -1926607734

HH A, B, C, d, x(5), S31, -378558
HH d, A, B, C, x(8), S32, -2022574463
HH C, d, A, B, x(11), S33, 1839030562
HH B, C, d, A, x(14), S34, -35309556
HH A, B, C, d, x(1), S31, -1530992060
HH d, A, B, C, x(4), S32, 1272893353
HH C, d, A, B, x(7), S33, -155497632
HH B, C, d, A, x(10), S34, -1094730640
HH A, B, C, d, x(13), S31, 681279174
HH d, A, B, C, x(0), S32, -358537222
HH C, d, A, B, x(3), S33, -722521979
HH B, C, d, A, x(6), S34, 76029189
HH A, B, C, d, x(9), S31, -640364487
HH d, A, B, C, x(12), S32, -421815835
HH C, d, A, B, x(15), S33, 530742520
HH B, C, d, A, x(2), S34, -995338651

II A, B, C, d, x(0), S41, -198630844
II d, A, B, C, x(7), S42, 1126891415
II C, d, A, B, x(14), S43, -1416354905
II B, C, d, A, x(5), S44, -57434055
II A, B, C, d, x(12), S41, 1700485571
II d, A, B, C, x(3), S42, -1894986606
II C, d, A, B, x(10), S43, -1051523
II B, C, d, A, x(1), S44, -2054922799
II A, B, C, d, x(8), S41, 1873313359
II d, A, B, C, x(15), S42, -30611744
II C, d, A, B, x(6), S43, -1560198380
II B, C, d, A, x(13), S44, 1309151649
II A, B, C, d, x(4), S41, -145523070
II d, A, B, C, x(11), S42, -1120210379
II C, d, A, B, x(2), S43, 718787259
II B, C, d, A, x(9), S44, -343485551

State(1) = LongOverflowAdd(State(1), A)
State(2) = LongOverflowAdd(State(2), B)
State(3) = LongOverflowAdd(State(3), C)
State(4) = LongOverflowAdd(State(4), d)
End Sub

Private Sub Decode(Length As Integer, OutputBuffer() As Long, InputBuffer() As Byte) 'was private sub
Dim intDblIndex As Integer, intByteIndex As Integer, dblSum As Double
For intByteIndex = 0 To Length - 1 Step 4
dblSum = InputBuffer(intByteIndex) + InputBuffer(intByteIndex + 1) * 256# + InputBuffer(intByteIndex + 2) * 65536# + InputBuffer(intByteIndex + 3) * 16777216#
OutputBuffer(intDblIndex) = UnsignedToLong(dblSum)
intDblIndex = intDblIndex + 1
Next intByteIndex
End Sub

Private Function FF(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, (B And C) Or (Not (B) And d), x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Private Function GG(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, (B And d) Or (C And Not (d)), x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Private Function HH(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, B Xor C Xor d, x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Private Function II(A As Long, B As Long, C As Long, d As Long, x As Long, s As Long, ac As Long) As Long
A = LongOverflowAdd4(A, C Xor (B Or Not (d)), x, ac)
A = LongLeftRotate(A, s)
A = LongOverflowAdd(A, B)
End Function

Function LongLeftRotate(value As Long, Bits As Long) As Long
Dim lngSign As Long, lngI As Long
Bits = Bits Mod 32
If Bits = 0 Then LongLeftRotate = value: Exit Function
For lngI = 1 To Bits
lngSign = value And &HC0000000
value = (value And &H3FFFFFFF) * 2
value = value Or ((lngSign < 0) And 1) Or (CBool(lngSign And &H40000000) And &H80000000)
Next
LongLeftRotate = value
End Function

Private Function LongOverflowAdd(Val1 As Long, Val2 As Long) As Long
Dim lngHighWord As Long, lngLowWord As Long, lngOverflow As Long
lngLowWord = (Val1 And &HFFFF&) + (Val2 And &HFFFF&)
lngOverflow = lngLowWord \ 65536
lngHighWord = (((Val1 And &HFFFF0000) \ 65536) + ((Val2 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
LongOverflowAdd = UnsignedToLong((lngHighWord * 65536#) + (lngLowWord And &HFFFF&))
End Function

Private Function LongOverflowAdd4(Val1 As Long, Val2 As Long, val3 As Long, val4 As Long) As Long
Dim lngHighWord As Long, lngLowWord As Long, lngOverflow As Long
lngLowWord = (Val1 And &HFFFF&) + (Val2 And &HFFFF&) + (val3 And &HFFFF&) + (val4 And &HFFFF&)
lngOverflow = lngLowWord \ 65536
lngHighWord = (((Val1 And &HFFFF0000) \ 65536) + ((Val2 And &HFFFF0000) \ 65536) + ((val3 And &HFFFF0000) \ 65536) + ((val4 And &HFFFF0000) \ 65536) + lngOverflow) And &HFFFF&
LongOverflowAdd4 = UnsignedToLong((lngHighWord * 65536#) + (lngLowWord And &HFFFF&))
End Function

Private Function UnsignedToLong(value As Double) As Long
If value < 0 Or value >= OFFSET_4 Then Error 6
If value <= MAXINT_4 Then UnsignedToLong = value Else UnsignedToLong = value - OFFSET_4
End Function

Private Function LongToUnsigned(value As Long) As Double
If value < 0 Then LongToUnsigned = value + OFFSET_4 Else LongToUnsigned = value
End Function
code này chèn như thế nào vậy anh
 
Bạn giải nén file đó ra trong đó có 3 file. bạn chạy File Install DLL.bat để đăng ký với widows

xong mở file Excel lên xóa hết mấy cái mã cũ đi bấm lay ma HD Vb6 nó cho bạn 2 mã hai bên

[B4] là mã máy [D4] là giải mã bạn bấm check ma HD VB6 kiểm tra nhập bất kỳ mã nào vào [C4]

kiểm tra xem thế nào ... cuối cùng copy [D4] paste vào [C4] kiểm tra lại xem.....

1/ Ý tưởng sẻ dùng nó bảo vệ file Excel theo máy code viết hết vào file *.dll khi mở Excel nó sẻ kiểm

tra mã máy và tạo ra mã sử dụng luôn ..nếu mã sử dụng đúng thì cho chạy ...nếu sai thì chào.....


2/ Hay ở chỗ chạy trên máy mới thì nó tự đổi mã theo máy đó bắt buộc phải có mã mới . Mới sử dụng

được

xin cảm ơn bạn đã tham gia
bạn ơi. cái file cấp mã bạn gửi sao cứ báo lỗi ấy. Bạn chỉ cho mình đc ko
 

Bài viết mới nhất

Back
Top Bottom