Công thức
Các hướng dẫn đầu-cuối, có định hướng rõ ràng cho những vấn đề tích hợp javascript-obfuscator thường gặp. Mỗi công thức tập trung vào cách kết hợp các tùy chọn để đạt được một kết quả cụ thể, thay vì ghi chép từng cờ riêng lẻ.
Hãy chọn công thức phù hợp với vấn đề bạn đang cố giải quyết. Chúng tôi sẽ bổ sung thêm nhiều công thức theo thời gian - nếu bạn gặp một tình huống tích hợp chưa được đề cập ở đây, hãy cho chúng tôi biết và chúng tôi sẽ viết về nó.
Trong phần này
Thực hành tốt nhất
Nên bảo vệ gì, nên để yên gì, và làm rối không thể làm được gì cho bạn.
Lấy khóa mảng bytecode từ backend
Giữ khóa giải mã bytecode của VM ở ngoài client bằng một hàm lấy khóa bất đồng bộ, tải khóa từ backend của bạn khi trang được nạp.
Thay thế template phía máy chủ
Chèn các giá trị dựng từ máy chủ vào JavaScript đã làm rối VM bằng reservedNames và reservedStrings.
Ẩn tên hàm khỏi phân tích của LLM
Vì sao mã đã làm rối VM vẫn có thể để lộ tên hàm có ý nghĩa cho LLM, và cách bọc bằng IIFE loại bỏ rò rỉ đó.
Chẩn đoán lỗi khi chạy của VM
Danh sách kiểm tra từng bước cho các lỗi khi chạy của VM như "Invalid array length", giúp phân biệt cấu hình sai target/self-defending với lỗi thực sự.
Tránh trùng tên định danh
Vì sao việc gộp nhiều tệp đã làm rối VM có thể gây lỗi "Identifier already declared" ngay lúc phân tích cú pháp, và cách khắc phục bằng định danh ngẫu nhiên hoặc thập lục phân.
Làm rối VM với eval và new Function
Cách làm rối VM xử lý direct eval và các lệnh gọi hàm khởi tạo Function, phần nào được chuyển thành bytecode và phần nào bị bỏ qua, các cảnh báo mà trình làm rối phát ra, cùng cách chẩn đoán ReferenceError khi chạy.
Telemetry & phản ứng phòng thủ của VM
Báo cáo các phát hiện phòng thủ của VM về backend của bạn bằng vmDefenseHook, và tinh chỉnh cách từng nhóm phát hiện phản ứng bằng vmDefenseReaction.
