Mã hoá code (1 người xem)

Liên hệ QC

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

phihndhsp

Thành viên gạo cội
Tham gia
26/12/09
Bài viết
3,363
Được thích
2,488
Giới tính
Nam
Nghề nghiệp
Giáo Viên
xin được hỏi các thành viên trên diễn đàn. tôi vừa đow được 1 file
sau khi xem code không biết nó mã hoá như thế nào mà code toàn gì gì đâu không?
xin được các thành viên giải thích dùm cách mã hoá đó như thế nào
bên dưới là 1 đoạn code tôi copy ra
còn đường dẫn là đây

http://www.mediafire.com/download/eyn67c0j4damzdx/Staff_Leave_Planner_JD14u100_DEMO.rar

pass VBA là phi
xin chân thành cảm ơn

Function izqjzqkzqlzqmzqnzqozqpzqqzqrzq()
Dim irjrkrlrmrnrorprqrrr As Integer
Dim szqtzquzqvzqwzqxzqyzqzzqa_qb_q As Boolean
Call mbqnbqobqpbqqbqrbqsbqtbqubqvbq("EmployeeData_AutofitAllColumnsIfRequired()", "start")
For irjrkrlrmrnrorprqrrr = 1 To 256
If (Cells(4, irjrkrlrmrnrorprqrrr).Text <> "") And (Columns(irjrkrlrmrnrorprqrrr).columnwidth > 0) Then
oyqpyqqyqryqsyqtyquyqvyqwyqxyq = c_qd_qe_qf_qg_qh_qi_qj_qk_ql_q(irjrkrlrmrnrorprqrrr)
If (mvqnvqovqpvqqvqrvqsvqtvquvqvvq(irjrkrlrmrnrorprqrrr) <> oyqpyqqyqryqsyqtyquyqvyqwyqxyq) And (oyqpyqqyqryqsyqtyquyqvyqwyqxyq > 8) Then
Call mbqnbqobqpbqqbqrbqsbqtbqubqvbq("EmployeeData_AutofitAllColumnsIfRequired()", "autofitting column " & irjrkrlrmrnrorprqrrr)
szqtzquzqvzqwzqxzqyzqzzqa_qb_q = True
If irjrkrlrmrnrorprqrrr <= wzexzeyzezzea_eb_ec_ed_ee_ef_e Then
kwjlwjmwjnwjowjpwjqwjrwjswjtwj abrbbrcbrdbrebrfbrgbrhbribrjbr
kwjlwjmwjnwjowjpwjqwjrwjswjtwj kbrlbrmbrnbrobrpbrqbrrbrsbrtbr
Select Case irjrkrlrmrnrorprqrrr
Case czedzeezefzegzehzeizejzekzelze
qofrofsoftofuofvofwofxofyofzof otlptlqtlrtlstlttlutlvtlwtlxtl, m5in5io5ip5iq5ir5is5it5iu5iv5i, abrbbrcbrdbrebrfbrgbrhbribrjbr
qofrofsoftofuofvofwofxofyofzof otlptlqtlrtlstlttlutlvtlwtlxtl, m5in5io5ip5iq5ir5is5it5iu5iv5i, kbrlbrmbrnbrobrpbrqbrrbrsbrtbr
Case mzenzeozepzeqzerzeszetzeuzevze
qofrofsoftofuofvofwofxofyofzof otlptlqtlrtlstlttlutlvtlwtlxtl, w5ix5iy5iz5ia6ib6ic6id6ie6if6i, abrbbrcbrdbrebrfbrgbrhbribrjbr
qofrofsoftofuofvofwofxofyofzof otlptlqtlrtlstlttlutlvtlwtlxtl, w5ix5iy5iz5ia6ib6ic6id6ie6if6i, kbrlbrmbrnbrobrpbrqbrrbrsbrtbr
Case wzexzeyzezzea_eb_ec_ed_ee_ef_e
qofrofsoftofuofvofwofxofyofzof otlptlqtlrtlstlttlutlvtlwtlxtl, g6ih6ii6ij6ik6il6im6in6io6ip6i, abrbbrcbrdbrebrfbrgbrhbribrjbr
qofrofsoftofuofvofwofxofyofzof otlptlqtlrtlstlttlutlvtlwtlxtl, g6ih6ii6ij6ik6il6im6in6io6ip6i, kbrlbrmbrnbrobrpbrqbrrbrsbrtbr
End Select
End If
kwjlwjmwjnwjowjpwjqwjrwjswjtwj qbjrbjsbjtbjubjvbjwbjxbjybjzbj
Call sootoouoovoowooxooyoozooapobpo(irjrkrlrmrnrorprqrrr)
End If
End If
Next irjrkrlrmrnrorprqrrr
If szqtzquzqvzqwzqxzqyzqzzqa_qb_q Then
eyqfyqgyqhyqiyqjyqkyqlyqmyqnyq
Call u1qv1qw1qx1qy1qz1qa2qb2qc2qd2q
End If
Call mbqnbqobqpbqqbqrbqsbqtbqubqvbq("EmployeeData_AutofitAllColumnsIfRequired()", "end")
End Function
 
Nó chả phải là dạng mã hóa gì bạn ạ, chỉ là việc thay đổi tên biến, thủ tục người dùng để khó theo dõi thôi. Thường các ông làm phần mềm - khi đưa ra bản demo họ không muốn bị tọc mạch và sao chép nên họ dùng cách viết một chương trình khác thay đổi tên gọi, biến ... để khó đọc và luận ra. Các code vẫn là VBA chuẩn. Tôi thử tìm hiểu thì thấy có một số chỗ để sinh thêm hàm và thủ tục mới, nhưng điều đó không quan trọng.
Cách này cũng giống như một số anh làm JavaScript đưa các dòng lệnh về một dòng để khó đọc thôi mà.!
 
Upvote 0
tôi biết là code VBA chuẩn, tôi chỉ muốn biết là phần mền để chuyển hoá các câu lệnh thành như vậy
chứ người ta mà viết code như vậy thì chắc là... luôn. cảm ơn bạn nhiều
 
Upvote 0
tôi biết là code VBA chuẩn, tôi chỉ muốn biết là phần mền để chuyển hoá các câu lệnh thành như vậy
chứ người ta mà viết code như vậy thì chắc là... luôn. cảm ơn bạn nhiều

Tôi nghĩ chỉ VBA bình thường chắc cũng làm được:
- Liệt kê tất cả các tên Module, Sub, Function và tên biến cần thay thế (trong 1 cột Excel chẳng hạn)
- Cột kế bên ghi những tên ngẫu nhiên nào đó (vụ ngẫu nhiên này chắc cũng làm được)
- Dùng code duyệt trong toàn bộ các Module, dò tìm và thay thế
Ý tưởng là vậy nhưng chắc là chẳng ai có hứng để làm mấy chuyện tào lao này cho mệt óc
 
Upvote 0
theo tôi nghĩ
trước tiên họ viết code và khai biến khoảng 4 ký tự gì đó để khi repplace không bị trùng.
sau đó họ thay biết bằng các chuỗi ký tự mà họ muốn để người đọc bị rối.
bạn thử bôi đen các doạn biến và Ctrl +h bằng con gà con vịt gì cũng được , thử xem

đó là suy nghĩ của tôi
 
Upvote 0
Theo lý thuyết trình dịch (compiler), trình dịch dùng một hàm để "nhào nắn" tên của biến và hàm - từ chuyên môn tiếng Anh là "name mangling". Nếu là một ngôn ngữ khác như C++ thì có thể người ta bảo trình dịch "trút" bảng "mangled names" này ra.

Tuy nhiên, tôi không nghĩ là VBA có tình trạng name mangling nên người viết code có thể chỉ dùng một kỹ thuật tương tự.
 
Upvote 0
Web KT

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

Back
Top Bottom