Obfuscate là gì

     

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

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

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

Obfuscated code là gì?

Đây là một trong 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 mới vào nghề: “Làm sao để bịt giấu source code của mình?”. Hãy thử xem ví dụ như 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--)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--) c.toString(a) k = >; e = function () return "w+" ; c = 1 ; while (c--) if (k) phường = 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 được Obfuscated code?

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

Xem thêm: Cara Loren Kid Collection By Loren Kid On Amazon Music, Loren Kid Collection By Loren Kid On Amazon Music

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

*

Obfuscation == Encryption?

Không, obfuscation != encryption.

Xem thêm: Hi Vọng Là Gì - Viết Đoạn Văn Nghị Luận Về Hi Vọng (11 Mẫu)

Khi viết Obfuscator nên chú ý:

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

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

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

-Đặt tên new càng ngắn càng tốt. Làm như thế để dịch mã cấp tốc hơn, đỡ tốn công sức cho trình dịch

-Lọai bỏ dư thừa

Làm sao để Obfuscated code?

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

JavaScript HTML Code/Text ObfuscatorOnline Javascript Obfuscator DaftLogicJsobfuscate

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