Cách Mã Hóa Và Giải Mã Code VBA (1 người xem)

Liên hệ QC

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

Kiều Mạnh

I don't program, I beat code into submission!!!
Tham gia
9/6/12
Bài viết
5,538
Được thích
4,129
Giới tính
Nam
Có một Bạn cho mình một file Excel .... mình coi code thấy họ mã hóa không hiểu được.... vậy mình muốn hỏi sử dụng công cụ nào mà mã hóa code ra như vậy.. hay đó là một ngôn ngữ lập trình mới vv ...
Rất mong các thành cùng tham gia nghiên cứu và viên Trợ Giúp
xin cảm ơn

Mình mới sửa lại bài viết tiếng Anh ...tiếng viết nhảy lung tung do mình để Anh Google Auto Dich nên mới vậy
Xin lỗi rất nhiều
 

File đính kèm

Lần chỉnh sửa cuối:
Anh Mạnh bật mí mật khẩu unprotect mấy sheet trong file với ạh?
đó là người ta khóa.... không phải Mạnh Khóa....sử dụng code trên GPE mở 1s thôi mà ...xong vào Sheet Menu xóa code sau đi là hết Pass họ để chế độ Private Sub Worksheet_ActivatePrivate Sub Worksheet_Deactivate
Từ từ nghiên cứu ko phải là vấn đề khó.....mới thấy dối mắt vậy thôi....
 
Upvote 0
Anh Mạnh bật mí mật khẩu unprotect mấy sheet trong file với ạh?
[gpecode=vb]Sub qwertyuiopsdfs(): Dim qwertyuiopsdty As Worksheet: For Each qwertyuiopsdty In ThisWorkbook.SheetsIf InStr(qwertyuiopsdfguu, qwertyuiopsdfgui & qwertyuiopsdty.name & qwertyuiopsdfgui) = qwertyuiopsdfgti Then
qwertyuiopsdty.Visible = xlSheetVeryHidden
Else: qwertyuiopsdty.Visible = xlSheetVisible: End If
If InStr(qwertyuiopsdfguo, qwertyuiopsdfgui & qwertyuiopsdty.name & qwertyuiopsdfgui) = qwertyuiopsdfgti Then
qwertyuiopsdty.Unprotect qwertyuiopsdty.name
Else: qwertyuiopsdty.Protect qwertyuiopsdty.name: End If: Next qwertyuiopsdty: End Sub[/gpecode]
Theo như code trên thì mật khẩu của mỗi Sheet chính là tên của Sheet đó. (qwertyuiopsdty.name)
 
Upvote 0
[gpecode=vb]Sub qwertyuiopsdfs(): Dim qwertyuiopsdty As Worksheet: For Each qwertyuiopsdty In ThisWorkbook.SheetsIf InStr(qwertyuiopsdfguu, qwertyuiopsdfgui & qwertyuiopsdty.name & qwertyuiopsdfgui) = qwertyuiopsdfgti Then
qwertyuiopsdty.Visible = xlSheetVeryHidden
Else: qwertyuiopsdty.Visible = xlSheetVisible: End If
If InStr(qwertyuiopsdfguo, qwertyuiopsdfgui & qwertyuiopsdty.name & qwertyuiopsdfgui) = qwertyuiopsdfgti Then
qwertyuiopsdty.Unprotect qwertyuiopsdty.name
Else: qwertyuiopsdty.Protect qwertyuiopsdty.name: End If: Next qwertyuiopsdty: End Sub[/gpecode]
Theo như code trên thì mật khẩu của mỗi Sheet chính là tên của Sheet đó. (qwertyuiopsdty.name)
Không Phải Bạn vào Sheet XuatBan nhập Passs là nó Luôn XuatBan
PHP:
ActiveSheet.Protect ActiveSheet.name
 
Upvote 0
Không Phải Bạn vào Sheet XuatBan nhập Passs là nó Luôn XuatBan
PHP:
ActiveSheet.Protect ActiveSheet.name
Thì đó, cái Sub mình trích dẫn ở trên để thực hiện việc ẩn hiện, và khóa, mở khóa các Sheet bằng tên của Sheet đó mà.
Quay lại vấn đề của Topic thì có lẽ ở VBA sẽ không thể tự nó encode và decode được, vì sẽ lại phải có code để thực hiện encode và decode đó. Có chăng thì ta có thể "bảo mật" code bằng cách "giấu" các code của module ra 1 file ngoài (ví dụ: txt) rồi mỗi lần khi cần sử dụng thì nạp code vào file excel.
 
Upvote 0
Thì đó, cái Sub mình trích dẫn ở trên để thực hiện việc ẩn hiện, và khóa, mở khóa các Sheet bằng tên của Sheet đó mà.
Quay lại vấn đề của Topic thì có lẽ ở VBA sẽ không thể tự nó encode và decode được, vì sẽ lại phải có code để thực hiện encode và decode đó. Có chăng thì ta có thể "bảo mật" code bằng cách "giấu" các code của module ra 1 file ngoài (ví dụ: txt) rồi mỗi lần khi cần sử dụng thì nạp code vào file excel.
Bạn nói không hiểu lắm.......
 
Upvote 0
có khai báo biến thì vẫn có nguy cơ bị Doveandrose đọc hiểu code rồi anh ơi . như vậy chưa an toàn
anh phải nghĩ cách gì đó mã hóa mà toàn bộ project VBA chỉ gồm 2 từ
"Kiều" và "Mạnh" ví dụ

Kiều Mạnh Mạnh
Mạnh Kiều Kiều Mạnh Kiều
Kiều Kiều Kiều Mạnh Mạnh ........
vậy mới an toàn --=0--=0--=0

Chứ vầy hổng MẠNH hơn à:
chim câu hồng
hồng câu chim
câu chim hồng

vân vân... và... mây mây...
vào cửa sổ VBA, chỉ toàn thấy có hồng và chim, rối mù luôn --=0
 
Upvote 0
cái này chỉ là mã hóa tên hằng, biến và hàm cho rối mắt thôi.
đại loại là thay xuống dòng bằng ": ", hằng bắt đầu bằng "qwertyuiopsdfg", biến và hàm bắt đầu bằng "qwertyuiopsd", ""qwerty" mà kiểu bàn phím.
đoán mò: tác giả có 1 hoặc 2 bảng liên kê tên các loại nói trên, thay tên bằng mấy ký tự trên và chỉ mục của nó.
làm cách này sẽ rất mệt nếu có quá nhiều tên.
cách khac: đặt tên hàm , biến có các ký tự đầu hoặc cuổi để nhận dạng, mã hóa theo quy tắc nào đó. tuy nhiên cách này dễ giải mã hơn cách trên
 
Upvote 0
cái này chỉ là mã hóa tên hằng, biến và hàm cho rối mắt thôi.
đại loại là thay xuống dòng bằng ": ", hằng bắt đầu bằng "qwertyuiopsdfg", biến và hàm bắt đầu bằng "qwertyuiopsd", ""qwerty" mà kiểu bàn phím.
đoán mò: tác giả có 1 hoặc 2 bảng liên kê tên các loại nói trên, thay tên bằng mấy ký tự trên và chỉ mục của nó.
làm cách này sẽ rất mệt nếu có quá nhiều tên.
cách khac: đặt tên hàm , biến có các ký tự đầu hoặc cuổi để nhận dạng, mã hóa theo quy tắc nào đó. tuy nhiên cách này dễ giải mã hơn cách trên

tôi nghĩ lúc đâu tác giả chưa khai biến toàn cục, mà viết code thông thường thôi dạng như Range("B2:B"......)gì gì đó,
sau khi hoàn tất, anh ta dùng Ctrl F thay thế nguyên cả cụm Rang("B...............") thành chuổi qwert............
cuối cùng thì khai báo biến toàn cục
nói chung là rất công phu
==========
 
Upvote 0
tôi nghĩ lúc đâu tác giả chưa khai biến toàn cục, mà viết code thông thường thôi dạng như Range("B2:B"......)gì gì đó,
sau khi hoàn tất, anh ta dùng Ctrl F thay thế nguyên cả cụm Rang("B...............") thành chuổi qwert............
cuối cùng thì khai báo biến toàn cục
nói chung là rất công phu
==========

Dạng như là: Mua một con siêu xe nhưng lại sợ ăn trộm rình lấy mất nên phải bảo vệ. Nghĩ tới nghĩ lui, thấy khóa cách gì thằng ăn trộm nó cũng mở được nên đã lấy cục phân trâu trét lên đầy xe để ngụy trang. Thằng ăn trộm có vào được thì cũng vì.. khó "ngửi" quá mà bỏ qua luôn
Ẹc... Ẹc... --=0
 
Upvote 0
Như là: Mua con siêu xe nhưng lại sợ ăn trộm rình lấy mất nên phải . . . . Nghĩ tới khóa cách gì thằng ăn trộm nó cũng mở được nên đã lấy cục phân trét lên đầy xe để ngụy trang.
Thằng ăn trộm có vào được thì cũng vì.. khó "ngửi" quá mà bỏ qua luôn . . .

& Trên diễn đàn này không hiếm thằng ăn trộm không khoái fân, fải hôn!
 
Upvote 0
Web KT

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

Back
Top Bottom