Loading...

Giới thiệu về công cụ làm rối code JavaScript Obfuscator

Công cụ làm rối code JavaScript Obfuscator là một obfuscator miễn phí và hiệu quả cho JavaScript (hỗ trợ một phần ES2019). Công cụ này là một Web UI tuyệt vời, open source và dễ dàng sử dụng được tạo bởi Timofey Kachalov.

công cụ làm rối code JavaScript Obfuscator

Tác dụng của JavaScript Obfuscator là gì?

Công cụ này chuyển mã JavaScript gốc của bạn thành kiểu viết mới mà nó khó khăn hơn để hiểu, sao chép, sử dụng lại và chỉnh sửa mà không có sự cho phép của tác giả. Kết quả đoạn code sau khi chuyển vẫn giữ nguyên các chức năng như code gốc.

Nó có giống UglifyJS, Closure Compiler không?

Có và không. Mặc dù UglifyJS (và các công cụ minifier khác) làm cho code đầu ra khó hiểu hơn (nén gọn và xấu), nhưng nó có thể dễ dàng chuyển đổi lại thành định dạng có thể đọc được bằng cách sử dụng JS Beautifier.

Công cụ này ngăn chặn điều đó bằng cách sử dụng nhiều cách biến đổi và bẫy khác nhau như là self-defendingdebug protection.

Xem ví dụ sau để hiểu rõ hơn:

Source gốc:

công cụ làm rối code JavaScript Obfuscator

Obfuscated code:

công cụ làm rối code JavaScript Obfuscator

Obfuscated code format:

công cụ làm rối code JavaScript Obfuscator

Kết quả sau khi sử dụng JavaScript Obfuscator Tool đã làm cho đoạn code trở nên rất khó hiểu, ta chỉ cần public code mới này lên để sử dụng.

Obfuscation hoạt động như thế nào?

Thông qua một loạt các biến đổi, chẳng hạn như đổi tên biến/hàm/đối số, loại bỏ chuỗi và các biến đổi khác, mã nguồn của bạn được chuyển thành một thứ gì đó không thể đọc được, trong khi vẫn hoạt động chính xác như trước. Có thể hiểu Obfuscated code là kỹ thuật làm rối code, người khác có thể có được code của bạn nhưng khó có thể hiểu hết toàn bộ ý nghĩa code mà bạn viết. Obfuscated code được dùng trong rất nhiều ngôn ngữ chứ không chỉ riêng Javascript.

Tại sao cần phải Obfuscated code?

Có nhiều lý do tại sao bạn nên bảo vệ code của mình, chẳng hạn như:

  • Ngăn chặn bất kỳ ai muốn copy/paste tác phẩm của bạn. Điều này đặc biệt quan trọng đối với các dự án 100% phía máy khách, chẳng hạn như những game được viết bằng HTML5;
  • Xóa các đoạn comment và khoảng trắng không cần thiết. Làm cho nó tải nhanh hơn và khó hiểu hơn;
  • Bảo vệ dự án chưa được thanh toán, bạn có thể cho khách hàng của mình biết rằng họ sẽ không có mã nguồn cho đến khi hóa đơn đã được thanh toán.
  • Obfuscated sẽ rất khó để đảo ngược lại định dạng ban đầu.
  • Dung lượng code được giảm xuống, tăng tốc độ xử lý, tiết kiệm băng thông.

Cách sử dụng công cụ làm rối code JavaScript Obfuscator

Rất dễ dàng để sử dụng công cụ này, bạn chỉ cần truy cập vào đường dẫn https://obfuscator.io/ sẽ có giao diện làm việc dưới đây:

công cụ làm rối code JavaScript Obfuscator

Lựa chon nút “Copy & Paste JavaScript Code” cần dán đoạn code hoặc với “Upload JavaScript File” nếu cần là file để tải lên rồi nhấn “Obfuscate”.

Kết quả sẽ được đưa ra tại nút “Output” để copy hoặc tải file xuống lại

Một số ý kiến thắc mắc cần trả lời:

  1. Sử dụng công cụ này có hoàn toàn bảo mật không?

Không, mặc dù không thể khôi phục mã nguồn gốc chính xác, nhưng một người nào đó có thời gian, kiến ​​thức và sự kiên nhẫn có thể xây dựng ngược lại nó.

Vì JavaScript chạy trên trình duyệt, JavaScript engine của trình duyệt phải có thể đọc và thông dịch nó, vì vậy không có cách nào để ngăn chặn điều đó. Và bất kỳ công cụ nào hứa hẹn điều này là không trung thực.

  1. Tại sao obfuscated code của tôi lớn hơn mã nguồn ban đầu của tôi?

Bởi vì obfuscator giới thiệu các đoạn mã mới nhằm bảo vệ và chống lại việc gỡ lỗi và thiết kế ngược. Ngoài ra, các chuỗi được chuyển đổi thành mã hexadecimal \xAB để làm cho mọi thứ khó hiểu hơn một chút. Bạn không phải lo lắng quá nhiều về kích thước mã vì có rất nhiều sự lặp lại, vì obfuscated code sẽ được nén rất tốt bởi máy chủ web (nếu bạn đã bật tính năng nén GZIP trên máy chủ)

  1. Có thể khôi phục mã nguồn ban đầu từ obfuscated code không?

Không thể khôi phục hòa toàn obfuscated code về code ban đầu của bạn, vì vậy hãy giữ nguyên bản gốc an toàn.

  1. Công cụ này có hoạt động với mã nguồn Node.js không?

  1. Có công cụ tương tự khác không?

Nếu bạn chỉ quan tâm đến việc xử lý và nén mã của mình, có thể tham khảo JSCompress.com

KANCEIL

Bạn có thể để lại thông tin hoặc liên hệ với chúng tôi nếu cần hỗ trợ tư vấn:


Yêu cầu tư vấn