Obfuscation là gì

  -  

khi download những bộ thỏng viện bên trên Internet (đặc biệt là thỏng viện Jquery, Javascript), thỉnh phảng phất bạn sẽ cảm nhận phần lớn file hết sức bé dại, nội dung bên phía trong thì bị minify cùng ko có một chút ít meaning như thế nào. Đó chính là nghệ thuật Obfuscated code.

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

Bạn vẫn xem: Obfuscate là gì

Obfuscated code là gì?

Đây là một nghệ thuật để trả lời cho câu hỏi mà bản thân hay gặp mặt của chúng ta developer bắt đầu vào nghề: “Làm sao để bịt giấu source code của mình?”. Hãy test coi ví dụ phía dưới:

Source:

function redirectUrl(url, selectorString) if (url !== "") (selectorString !== null &và $(selectorString).val() != url)) window.location.replace(url); function removeData(row) row.addClass("warning"); row.fadeOut(400, function () row.remove(); );var delay = (function () var timer = 0; return function (callbachồng, ms) clearTimeout(timer); timer = setTimeout(callbaông chồng, ms); ;)();Obfuscated code:

eval(function(p,a,c,k,e,d)e=function(c)return c.toString(36);if(!"".replace(/^/,String))while(c--)d=kk=>;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--) 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, ))Tại sao rất cần phải Obfuscated code?

Dung lượng code sẽ được giảm sút.Trong Javascript, đang có tác dụng thời gian tải xuống đáng chú ý.khi code được Obfuscated sẽ tương đối nặng nề để đảo ngược trở lại định hình ban đầu.

Xem thêm: Trong Số Đó Tiếng Anh Là Gì ? Ví Dụ Cách Sử Dụng Từ Này? Trong Đó Tiếng Anh Là Gì

Các chúng ta có thể thấy, cùng với Obfuscated code, nó không phần nhiều chỉ minify (giảm bỏ những đoạn xuống mẫu, vết biện pháp không cần thiết làm bớt dung lượng tệp tin, tiết kiệm chi phí băng thông) mà nó còn chuyển đổi luôn cả thương hiệu lớp, thương hiệu hàm, tên đổi thay,… thành phần lớn kí tự dễ dàng và đơn giản vô nghĩa (VD: a(), var b,…). Vậy bắt buộc Obfuscated code còn được biết đến với cái thương hiệu Việt là kỹ thuật làm rối code: người không giống rất có thể đã đạt được code của doanh nghiệp nhưng cực nhọc hoàn toàn có thể phát âm không còn toàn cục ý nghĩa code cơ mà các bạn viết

*

Obfuscation == Encryption?

Không, obfuscation != encryption.

Xem thêm: Khu Du Lịch Bò Cạp Vàng Chết Người, Có Ai Đã Từng Thắc Mắc

lúc viết Obfuscator đề xuất crúc ý:

-Chỉ đổi khác mọi tên riêng rẽ, không chuyển đổi từ bỏ khóa, thương hiệu lệnh, tuyệt những API của hệ thống

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

-Nhất cửa hàng. Lúc đổi khác tên đề xuất biến đổi cục bộ các tệp tin nguồn tất cả cất thuộc đối tượng người dùng kia. Ví dụ: file abc.jsp cất lớp tên ABC thì khi đổi tên lớp ABC, tất cả các tệp tin khác tất cả dùng lớp ABC cũng yêu cầu biến hóa theo.

-Đặt tên mới càng nthêm càng tốt. Làm như thế để dịch mã nkhô nóng hơn, đỡ tốn công sức mang đến trình dịch

-Lọai quăng quật dư thừa

Làm sao nhằm Obfuscated code?

Tất nhiên bạn cũng có thể từ bỏ làm cho thủ công. Thôi, tốt nhất là dùng những cỗ thư viện, ứng dụng hoặc một số tools online bởi phần lớn phương tiện này đã có được viết nhằm có thể Obfuscated code của doanh nghiệp một biện pháp buổi tối ưu nhất. Một số tools online:

JavaScript HTML Code/Text ObfuscatorOnline Javascript Obfuscator DaftLogicJsobfuscate

Nếu code của công ty là do cộng đồng thì các bạn chỉ việc minify để sút dung lượng file thôi, còn trường hợp vẫn ước ao giấu code thì Obfuscated code là 1 lựa chọn buổi tối ưu cho chính mình. Cám ơn chúng ta đang phát âm bài xích viết