Làm xáo trộn javascript github

Giải mã hóa trực tuyến

https. //baivong. github. io/de4js/


de4js

https. //github. com/baivong/de4js

JavaScript Deobfuscator và Unpacker

Làm xáo trộn javascript github


Người giúp đỡ

Tùy chọn  Không đọc được  bị tắt theo mặc định vì tùy chọn này sử dụng dữ liệu từ JS Nice. Điều này không thể được thực hiện với JavaScript. Bạn cần cài đặt UserScript de4js_helper. người sử dụng. js để kích hoạt nó.

Cài đặt một trong các liên kết sau

  • Mở JS người dùng
  • Nĩa mỡ
  • Github

Đặc trưng

  • Công cụ tô sáng cú pháp/làm đẹp mã nguồn
  • Làm cho mã bị xáo trộn có thể đọc được
  • Trình giải nén hiệu suất
    • Đánh giá , e. g. Trình đóng gói, WiseLoop
    • Mảng , e. g. Trình mã hóa Javascript
    • _Con số
    • người đóng gói
    • Trình mã hóa Javascript
    • Obfuscate của tôi
    • Mã hóa URL , e. g. dấu trang
    • jsfuck
    • JJencode
    • AAencode

Sự phát triển

Cài đặt

git clone https://github.com/baivong/de4js.git
cd de4js

Nếu bạn chưa cài đặt Ruby, hãy cài đặt Ruby 2. 1. 0 hoặc cao hơn

Sửa các thư viện bị thiếu trên  Ubuntu .

sudo apt install ruby-dev zlib1g-dev

Cài đặt  Trình đóng gói .

gem install bundler

Cài đặt  Jekyll  và các phần phụ thuộc khác từ đá quý Trang GitHub.

bundle install

Chạy

bundle exec jekyll serve

Xem trước  de4js  trong trình duyệt web của bạn tại http://localhost:4000

  • tiếng riu ríu
  • Đăng lại
  • Đăng lại
  • Đăng lại
  • Đăng lại

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

sudo apt install ruby-dev zlib1g-dev
0

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

sudo apt install ruby-dev zlib1g-dev
1 nó không chỉ là những minify (bỏ các đoạn xuống dòng, dấu cách không cần thiết để giảm dung lượng tệp, tiết kiệm điện năng băng thông) 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 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. 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 xáo trộn javascript github

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