Làm rối javascript trực tuyến

Tìm cách làm xáo trộn mã JavaScript của bạn? . com có ​​công cụ trực tuyến hoàn hảo cho bạn. JavaScript Obfuscator của chúng tôi làm cho mã của bạn khó đọc và khó hiểu, khiến tin tặc khó hơn nhiều để ăn cắp hoặc giả mạo công việc của bạn. Nó hỗ trợ các plugin jQuery và các thư viện khác được viết bằng JavaScript, làm cho nó trở thành một công cụ đa năng cho bất kỳ dự án nào. Hãy thử ngay hôm nay

biển khơi. com là một trang web dành riêng để cung cấp các công cụ và tài nguyên trực tuyến cho các nhà phát triển web và lập trình viên. Chúng tôi cung cấp một loạt các công cụ, bao gồm cả JavaScript obfuscator của chúng tôi, cũng như các hướng dẫn và bài viết để giúp bạn tận dụng tối đa công việc phát triển của mình.  

Khi tải các bộ thư viện trên Internet (đặc biệt là thư viện Jquery, Javascript), xin chào các bạn sẽ nhận được những file rất nhỏ, nội dung bên trong thì bị minify và không có 1 chút ý nghĩa nào cả. Đó chính là kỹ thuật Obfuscated code.

Obfuscated code là gì?

Đây là một kỹ thuật để trả lời cho câu hỏi mà mình thường gặp các nhà phát triển mới vào nghề của bạn. “Làm sao để che giấu mã nguồn của mình?”. Please try to view the below

Nguồn

function redirectUrl(url, selectorString) {
    if (url !== '') {
        if (selectorString === null || (selectorString !== null && $(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 (callback, ms) {
        clearTimeout(timer);
        timer = setTimeout(callback, ms);
    };
})();

mã bị xáo trộn

eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('1 g(3,4){6(3!==''){6(4===a||(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,{}))

Định dạng mã bị xáo trộn

eval(function (p, a, c, k, e, d) {
    e = function (c) {
        return c.toString(36)
    };
    if (!''.replace(/^/, String)) {
        while (c--) {
            d[c.toString(a)] = k[c] || c.toString(a)
        }
        k = [function (e) {
            return d[e]
        }];
        e = function () {
            return '\w+'
        };
        c = 1
    }
    ;
    while (c--) {
        if (k[c]) {
            p = p.replace(new RegExp('\b' + e(c) + '\b', 'g'), k[c])
        }
    }
    return p
}('1 g(3,4){6(3!==''){6(4===a||(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 cần phải làm xáo trộn mã?

  • Dung lượng code sẽ được giảm xuống
  • Trong Javascript, sẽ làm cho thời gian tải xuống đáng kể
  • Khi mã bị xáo trộn sẽ rất khó để đảo ngược định dạng ban đầu

Các bạn có thể thấy, với Obfuscated code, nó không chỉ là những minify (bỏ các đoạn xuống dòng, đánh dấu cách không cần thiết làm giảm dung lượng tệp, tiết kiệm điện trở thông tin) mà nó còn thay đổi luôn cả tên lớp, tên hàm, . a(), var b,…). Do đó, mã bị xáo trộn còn được biết đến với cái tên Việt là kỹ thuật làm mã rối. người khác có thể có mã của bạn nhưng khó có thể hiểu hết toàn bộ ý nghĩa mã mà bạn viết

Làm rối javascript trực tuyến

Mã bị xáo trộn được sử dụng trong rất nhiều ngôn ngữ chứ không chỉ riêng Javascript. Thường thì phản đối với các nguồn công khai họ sẽ chỉ thu nhỏ để giảm dung lượng tệp khi tải. The Obfuscateed only used when you want to change better effect and ĐẶC BIỆT LÀ ĐƯỢC SỬ DỤNG ĐỂ XÁC NHẬN MÃ. Giấu mã ở đây cũng không hoàn toàn là không khôi phục ngược được, tuy nhiên sẽ mất khá nhiều thời gian

Obfuscation == Mã hóa?

Không, obfuscation. = mã hóa

  • Trong JavaScript, trình duyệt có thể thực thi mã được mã hóa này, trong khi trình duyệt sẽ thực thi mã bị xáo trộn
  • Mã đã mã hóa luôn cần giải mã để được thực thi
  • Mã bị xáo trộn không yêu cầu khử dữ liệu để thực thi

Khi viết Obfuscator cần chú ý

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

-Tranh đột biến tên. Ví dụ. nếu thay tên lớp và tên biến giống nhau, chương trình có thể chạy không giống bình thường và thậm chí chí ít là không hiểu nó đang làm gì

-Nhất quán. Khi thay đổi tên phải thay đổi toàn bộ nguồn tệp có chứa cùng đối tượng đó. Ví dụ. tập tin abc. jsp chứa tên lớp ABC, khi đổi tên lớp ABC, tất cả các tệp khác có sử dụng lớp ABC cũng phải thay đổi theo

-Đặt tên mới càng ngắn càng tốt. Làm như thế để dịch mã nhanh hơn, hỗ trợ công sức cho các giao dịch

-Loai bỏ dư thừa

Làm sao để làm xáo trộn mã?

Đương nhiên bạn có thể tự làm bằng tay. Thôi, tốt nhất là sử dụng các bộ thư viện, phần mềm hoặc một số công cụ trực tuyến vì những công cụ này đã được viết để có thể làm xáo trộn mã của bạn một cách tối ưu nhất. Một số công cụ trực tuyến

  • JavaScript HTML Code/Văn bản Obfuscator
  • Trực tuyến Javascript Obfuscator DaftLogic
  • Jsobfuscate

Nếu mã của bạn là vì cộng đồng, thì bạn chỉ cần thu nhỏ để giảm dung lượng tệp thôi, còn nếu vẫn muốn ẩn mã thì Mã xáo trộn là lựa chọn tối ưu cho bạn. Cám ơn các bạn đã đọc bài viết