OBFUSCATE LÀ GÌ

     

Khi download những bộ tủ sách trên mạng internet (đặc biệt là thư viện Jquery, Javascript), thỉnh thoảng các bạn sẽ nhận được đông đảo file vô cùng nhỏ, nội dung phía bên trong thì bị minify cùng không có một chút meaning nào. Đó chính là kỹ thuật Obfuscated code.Bạn sẽ xem: Obfuscate là gì

Obfuscated code là gì?

Đây là 1 kỹ thuật để vấn đáp cho thắc mắc mà bản thân thường chạm chán của các bạn developer bắt đầu vào nghề: “Làm sao để đậy giấu source code của mình?”. Hãy thử xem ví dụ phía dưới:

Source:

function redirectUrl(url, selectorString) if (url !== "") if (selectorString === null function removeData(row) row.addClass("warning"); row.fadeOut(400, function () row.remove(); );var delay = (function () var timer = 0; return function (callback, ms) clearTimeout(timer); timer = setTimeout(callback, ms); ;)();Obfuscated code:

eval(function(p,a,c,k,e,d)e=function(c)return c.toString(36);if(!"".replace(/^/,String))while(c--)c.toString(a)k=>;e=function()return"w+";c=1;while(c--)if(k)p=p.replace(new RegExp(""+e(c)+"","g"),k)return p}("1 g(3,4)6(3!=="")6(4===a1 e(2)2.l("n");2.o(h,1()2.p())7 m=(1()7 5=0;i 1(8,9)j(5);5=k(8,9))();",26,26,"|function|row|url|selectorString|timer|if|var|callback|ms|null|location|replace|val|removeData|window|redirectUrl|400|return|clearTimeout|setTimeout|addClass|delay|warning|fadeOut|remove".split("|"),0,))Obfuscated code format:

eval(function (p, a, c, k, e, d) e = function (c) return c.toString(36) ; if (!"".replace(/^/, String)) while (c--) d = k k = >; e = function () return "w+" ; c = 1 ; while (c--) if (k) p = p.replace(new RegExp("" + e(c) + "", "g"), k) return p}("1 g(3,4)6(3!=="")(4!==a&&$(4).d()!=3))f.b.c(3)1 e(2)2.l("n");2.o(h,1()2.p())7 m=(1()7 5=0;i 1(8,9)j(5);5=k(8,9))();", 26, 26, "|function|row|url|selectorString|timer|if|var|callback|ms|null|location|replace|val|removeData|window|redirectUrl|400|return|clearTimeout|setTimeout|addClass|delay|warning|fadeOut|remove".split("|"), 0, ))Tại sao rất cần phải Obfuscated code?

Dung lượng code sẽ tiến hành giảm xuống.Trong Javascript, sẽ làm thời hạn tải xuống đáng kể.Khi code được Obfuscated sẽ khá khó nhằm đảo ngược lại định dạng ban đầu.

Bạn đang xem: Obfuscate là gì

Các bạn cũng có thể thấy, với Obfuscated code, nó không phần đông chỉ minify (cắt bỏ những đoạn xuống dòng, dấu cách không quan trọng làm giảm dung lượng file, tiết kiệm chi phí băng thông) cơ mà nó còn biến hóa luôn cả thương hiệu lớp, thương hiệu hàm, thương hiệu biến,… thành đông đảo kí tự đơn giản dễ dàng vô nghĩa (VD: a(), var b,…). Vậy nên Obfuscated code còn được nghe biết với cái tên Việt là kỹ thuật có tác dụng rối code: bạn khác có thể có được code của bạn nhưng khó rất có thể hiểu hết toàn bộ chân thành và ý nghĩa code mà các bạn viết

*

Obfuscation == Encryption?

Không, obfuscation != encryption.

Xem thêm: Kinh Nghiệm Deal Lương Là Gì ? Bật Mí Cho Bạn Tips Giúp Deal Lương Hiệu Quả Nhất

Trong JavaScript, trình duyệt hoàn toàn có thể thực thi encrypted code, trong những khi trình để mắt sẽ tiến hành obfuscated code.Encrypted code luôn luôn cần giải thuật để được thực thi.Obfuscated code ko yêu mong khử tài liệu để thực thi.

Xem thêm: Cán Bộ Công Nhân Viên Tiếng Anh Là Gì : Cách Viết, Ví Dụ, Công Nhân Viên Tiếng Anh Là Gì

Khi viết Obfuscator bắt buộc chú ý:

-Chỉ thay đổi những thương hiệu riêng, không biến hóa từ khóa, tên lệnh, hay các API của hệ thống

-Tránh xung đột nhiên tên. Ví dụ: nếu rứa tên lớp và tên trở thành giống nhau, chương trình có thể chạy ko giống thông thường và thậm chí còn là thiếu hiểu biết nó đang làm gì

-Nhất quán. Khi chuyển đổi tên phải chuyển đổi toàn bộ các file nguồn có chứa cùng đối tượng người tiêu dùng đó. Ví dụ: tệp tin abc.jsp cất lớp tên ABC thì khi đổi tên lớp ABC, tất cả các file khác có dùng lớp ABC cũng phải đổi khác theo.

-Đặt tên mới càng ngắn càng tốt. Làm như vậy để dịch mã nhanh hơn, đỡ tốn công sức cho trình dịch

-Lọai vứt dư thừa

Làm sao nhằm Obfuscated code?

Tất nhiên bạn cũng có thể tự làm bởi tay. Thôi, tốt nhất là dùng các bộ thư viện, ứng dụng hoặc một vài tools online vì chưng những lao lý này đã làm được viết để rất có thể Obfuscated code của người sử dụng một giải pháp tối ưu nhất. Một trong những tools online:

JavaScript HTML Code/Text ObfuscatorOnline Javascript Obfuscator DaftLogicJsobfuscate

Nếu code của người sử dụng là vì xã hội thì bạn chỉ cần minify để giảm dung tích file thôi, còn nếu như vẫn ước ao giấu code thì Obfuscated code là 1 lựa chọn buổi tối ưu đến bạn. Cám ơn các bạn đã đọc bài xích viết