Lúc download những cỗ thư viện bên trên Internet (nhất là tlỗi viện Jquery, Javascript), thỉnh thoảng bạn sẽ nhận ra phần đa tệp tin khôn xiết nhỏ tuổi, câu chữ bên trong thì bị minify với ko có 1 chút ít meaning như thế nào. Đó chính là kỹ thuật Obfuscated code.

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

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

Obfuscated code là gì?

Đây là 1 chuyên môn để trả lời mang đến câu hỏi nhưng mình hay chạm mặt của chúng ta developer new vào nghề: “Làm sao để bít giấu source code của mình?”. Hãy demo coi 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 (callbaông xã, 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--)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!=="")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,))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 cần phải Obfuscated code?

Dung lượng code sẽ tiến hành giảm sút.Trong Javascript, vẫn có tác dụng thời hạn thiết lập xuống đáng chú ý.Lúc code được Obfuscated sẽ rất khó để đảo ngược chở lại định dạng ban đầu.

Xem thêm: Gadgets Là Gì - Cách Phân Biệt Và Sử Dụng Gadget, Widget

Các chúng ta cũng có thể thấy, cùng với Obfuscated code, nó ko phần đông chỉ minify (giảm quăng quật các đoạn xuống chiếc, vết giải pháp không quan trọng làm giảm dung tích file, tiết kiệm chi phí băng thông) mà lại nó còn biến đổi luôn luôn cả thương hiệu lớp, thương hiệu hàm, tên biến,… thành phần đa kí tự đơn giản vô nghĩa (VD: a(), var b,…). Vậy đề nghị Obfuscated code còn được biết đến cùng với cái tên Việt là chuyên môn có tác dụng rối code: tín đồ không giống rất có thể đạt được code của người tiêu dùng dẫu vậy khó có thể phát âm hết tổng thể ý nghĩa code cơ mà chúng ta viết

*

Obfuscation == Encryption?

Không, obfuscation != encryption.

Xem thêm: Những Người Nào Được Gọi Là Cử Tri Là Ai, Quyền Và Nghĩa Vụ Của Cử Tri

lúc viết Obfuscator buộc phải crúc ý:

-Chỉ đổi khác phần lớn tên riêng, ko biến hóa từ bỏ khóa, thương hiệu lệnh, tốt những API của hệ thống

-Tránh xung bỗng nhiên tên. Ví dụ: nếu nạm tên lớp cùng tên thay đổi như là nhau, lịch trình rất có thể chạy rất khác bình thường và thậm chí còn là thiếu hiểu biết nhiều nó sẽ làm gì

-Nhất cửa hàng. Lúc biến hóa tên đề xuất chuyển đổi toàn cục các file mối cung cấp có đựng cùng đối tượng người sử dụng đó. Ví dụ: file abc.jsp đựng lớp tên ABC thì lúc đổi tên lớp ABC, toàn bộ các tệp tin không giống tất cả sử dụng lớp ABC cũng buộc phải đổi khác theo.

-Đặt thương hiệu bắt đầu càng nđính thêm càng giỏi. Làm như vậy để dịch mã nhanh khô rộng, đỡ tốn sức lực cho trình dịch

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

Làm sao để Obfuscated code?

Tất nhiên chúng ta cũng có thể trường đoản cú có tác dụng bằng tay. Thôi, cực tốt là sử dụng những cỗ thư viện, ứng dụng hoặc một trong những tools online bởi gần như mức sử dụng này đã được viết nhằm có thể Obfuscated code của bạn một biện pháp tối ưu độc nhất vô nhị. Một số tools online:

JavaScript HTML Code/Text ObfuscatorOnline Javascript Obfuscator DaftLogicJsobfuscate

Nếu code của doanh nghiệp nguyên nhân là cộng đồng thì các bạn chỉ việc minify nhằm sút dung tích tệp tin thôi, còn trường hợp vẫn mong mỏi giấu code thì Obfuscated code là 1 chọn lựa tối ưu cho mình. Cám ơn các bạn vẫn đọc bài bác viết


Chuyên mục: TỔNG HỢP
Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *