Obfuscate là gì

  -  

Khi tải về các bộ thư viện trên Internet (đặc biệt là tlỗi viện Jquery, Javascript), thỉnh phảng phất các bạn sẽ nhận ra hồ hết file khôn cùng nhỏ dại, câu chữ phía bên trong thì bị minify và không có một chút meaning như thế nào. Đó chính là kỹ thuật Obfuscated code.

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

Obfuscated code là gì?

Đây là 1 nghệ thuật để trả lời đến câu hỏi mà lại mình hay gặp gỡ của chúng ta developer new vào nghề: “Làm sao nhằm bít giấu source code của mình?”. Hãy test 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 (callbachồng, ms) clearTimeout(timer); timer = setTimeout(callbaông xã, 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 cần phải Obfuscated code?

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

Các chúng ta cũng có thể thấy, với Obfuscated code, nó ko các chỉ minify (giảm bỏ các đoạn xuống dòng, dấu cách không cần thiết làm cho sút dung lượng file, tiết kiệm băng thông) cơ mà nó còn thay đổi luôn luôn cả thương hiệu lớp, thương hiệu hàm, thương hiệu trở nên,… thành đa số kí trường đoản cú dễ dàng và đơn giản bất nghĩa (VD: a(), var b,…). Vậy buộc phải Obfuscated code còn được nghe biết cùng với cái brand name Việt là chuyên môn làm cho rối code: người khác hoàn toàn có thể có được code của người tiêu dùng tuy thế cạnh tranh rất có thể gọi hết cục bộ ý nghĩa code nhưng mà các bạn viết

*
Obfuscated code được dùng trong không ít ngôn ngữ chđọng không riêng gì Javascript. Thường thì đối với những source public bọn họ vẫn chỉ minify nhằm sút dung tích tệp tin lúc load. Còn Obfuscated chỉ dùng Khi muốn cải thiện công suất không chỉ có thế với nhất là dùng làm giấu code. Giấu code tại chỗ này cũng không trọn vẹn là ko dịch ngược chở lại được, mặc dù đang tốn không ít thời hạn.

Xem thêm: Nghĩa Của Từ To Be In Search Of Là Gì ? To Be In Search Of Là Gì

Obfuscation == Encryption?

Không, obfuscation != encryption.

Trong JavaScript, trình coi xét hoàn toàn có thể xúc tiến encrypted code, trong những khi trình chuyên chú vẫn xúc tiến obfuscated code.Encrypted code luôn đề nghị lời giải và để được xúc tiến.Obfuscated code ko tận hưởng khử dữ liệu để thực thi.

Xem thêm: Think Tank Là Gì - Đổi Mới & Phát Triển

Lúc viết Obfuscator đề xuất chú ý:

-Chỉ biến đổi hầu như tên riêng rẽ, ko đổi khác tự khóa, tên lệnh, giỏi những API của hệ thống

-Tránh xung thốt nhiên thương hiệu. Ví dụ: giả dụ cầm cố thương hiệu lớp cùng thương hiệu đổi mới giống nhau, công tác có thể chạy rất khác thông thường với thậm chí là là thiếu hiểu biết nó đang có tác dụng gì

-Nhất tiệm. khi biến đổi thương hiệu nên đổi khác toàn cục những file nguồn gồm chứa thuộc đối tượng kia. Ví dụ: tệp tin abc.jsp đựng lớp tên ABC thì Lúc đổi tên lớp ABC, tất cả các tệp tin không giống gồm cần sử dụng lớp ABC cũng đề nghị đổi khác theo.

-Đặt thương hiệu mới càng nlắp càng giỏi. Làm như thế để dịch mã nhanh rộng, đỡ tốn công sức cho trình dịch

-Lọai quăng quậ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 thủ công bằng tay. Thôi, rất tốt là sử dụng những bộ tlỗi viện, ứng dụng hoặc một số tools online vì gần như luật này đã có viết nhằm có thể Obfuscated code của chúng ta một giải pháp về tối ưu độc nhất. Một số tools online:

JavaScript HTML Code/Text ObfuscatorOnline Javascript Obfuscator DaftLogicJsobfuscate

Nếu code của doanh nghiệp là do xã hội thì các bạn chỉ cần minify nhằm giảm dung lượng file thôi, còn giả dụ vẫn hy vọng giấu code thì Obfuscated code là 1 trong chắt lọc buổi tối ưu cho bạn. Cám ơn các bạn đang đọc bài xích viết