Resep
Panduan menyeluruh yang opinionated untuk masalah integrasi javascript-obfuscator yang umum. Setiap resep berfokus pada cara mengombinasikan opsi demi mencapai hasil tertentu, bukan mendokumentasikan setiap flag satu per satu.
Pilih resep yang sesuai dengan masalah yang ingin Anda selesaikan. Resep lain akan ditambahkan dari waktu ke waktu - jika Anda menghadapi skenario integrasi yang belum tercakup di sini, beri tahu kami dan kami akan menuliskannya.
Di bagian ini
Praktik Terbaik
Apa yang perlu dilindungi, apa yang sebaiknya dibiarkan, dan apa yang tidak dapat dilakukan oleh obfuskasi.
Mengambil Kunci Bytecode Array dari Backend
Jauhkan kunci dekripsi bytecode VM dari sisi klien dengan key getter asinkron yang mengambilnya dari backend Anda saat pemuatan.
Substitusi Template di Sisi Host
Sisipkan nilai hasil render server ke dalam JavaScript hasil obfuskasi VM menggunakan reservedNames dan reservedStrings.
Menyembunyikan Nama Fungsi dari Analisis LLM
Mengapa kode hasil obfuskasi VM dapat membocorkan nama fungsi yang bermakna kepada LLM, dan bagaimana pembungkusan IIFE menghilangkan kebocoran tersebut.
Mendiagnosis Error Runtime VM
Daftar periksa langkah demi langkah untuk error runtime VM seperti "Invalid array length", untuk memisahkan salah konfigurasi target/self-defending dari bug yang sesungguhnya.
Menghindari Tabrakan Pengenal
Mengapa menggabungkan beberapa berkas hasil obfuskasi VM dapat memunculkan "Identifier already declared" saat parsing, dan cara memperbaikinya dengan pengenal random atau hexadecimal.
Obfuskasi VM dengan eval dan new Function
Bagaimana obfuskasi VM menangani direct eval dan pemanggilan konstruktor Function, apa yang diubah menjadi bytecode dan apa yang dilewati, peringatan yang dikeluarkan obfuscator, serta cara mendiagnosis ReferenceError saat runtime.
Telemetri & Reaksi Pertahanan VM
Laporkan deteksi pertahanan VM ke backend Anda dengan vmDefenseHook, dan atur bagaimana setiap kategori deteksi bereaksi melalui vmDefenseReaction.
