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.