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.

Substitusi Template di Sisi Host

Sisipkan nilai hasil render server ke dalam JavaScript hasil obfuskasi VM menggunakan reservedNames dan reservedStrings.

Kunci Enkoding Array Bytecode

Berikan kunci enkripsi bytecode VM Anda sendiri dengan vmBytecodeArrayEncodingKey dan selesaikan saat runtime melalui key getter — dari penyimpanan klien, atau diambil dari backend Anda.

Telemetri & Reaksi Pertahanan VM

Laporkan deteksi pertahanan VM ke backend Anda dengan vmDefenseHook, dan atur bagaimana setiap kategori deteksi bereaksi melalui vmDefenseReaction.

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.

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.

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.

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.