Pertanyaan yang Sering Diajukan
Pertanyaan Umum
Pertanyaan umum seputar obfuskasi JavaScript dan cara kerjanya.
Ada banyak alasan untuk melindungi kode Anda: mencegah siapa pun sekadar menyalin dan menempel hasil kerja Anda (terutama penting untuk proyek sisi klien seperti game HTML5), menghapus komentar dan spasi agar kode lebih cepat dimuat dan lebih sulit dipahami, serta melindungi pekerjaan yang belum dibayar sehingga Anda dapat menunjukkannya kepada klien tanpa memberikan kode sumbernya.
Obfuskasi VM (Virtual Machine) mengubah kode JavaScript Anda menjadi bytecode khusus yang berjalan pada interpreter tertanam. Berbeda dengan obfuskasi standar yang tetap menghasilkan JavaScript yang dapat dibaca, obfuskasi VM sepenuhnya menyembunyikan struktur kode asli Anda. Alat analisis statis tidak dapat memahami logikanya tanpa terlebih dahulu merekayasa balik seluruh virtual machine. Pelajari lebih lanjut di panduan obfuskasi VM kami.
Bisa! Kami menyediakan opsi untuk menerapkan obfuskasi VM secara selektif pada fungsi atau metode tertentu. Cukup tandai fungsi target Anda dengan komentar khusus (/* javascript-obfuscator:vm */), maka hanya fungsi itulah yang akan diproses oleh obfuscator VM. Cara ini ideal untuk melindungi hanya algoritma paling sensitif Anda, sementara sisa kode tetap menggunakan obfuskasi standar atau dibiarkan apa adanya, sehingga overhead performa menjadi minimal.
Tidak. Kunci API, rahasia, dan kredensial TIDAK BOLEH disimpan di dalam kode frontend. Bahkan dengan tingkat obfuskasi tertinggi sekalipun, data apa pun di dalam JavaScript frontend dapat diekstrak oleh penyerang yang gigih. Obfuskasi mempersulit rekayasa balik, tetapi ia bukan enkripsi dan tidak boleh diandalkan untuk mengamankan rahasia. Sebagai gantinya, simpan rahasia di server backend Anda, gunakan variabel lingkungan di sisi server, teruskan panggilan API melalui backend Anda untuk menyembunyikan kunci, atau gunakan token berumur pendek yang diterbitkan oleh server Anda.
Tidak ada obfuskasi yang 100% kebal — pada akhirnya JavaScript berjalan di lingkungan yang dikendalikan penyerang, baik peramban maupun Node.js, dan inspeksi memori saat runtime selalu mungkin dilakukan di sana. Tidak ada obfuskasi JavaScript yang dapat menutup celah itu; yang bisa dilakukannya adalah membuat biaya untuk mencapainya jauh lebih mahal. Saat ini belum ada layanan deobfuscator daring otomatis untuk kode hasil obfuskasi VM — setiap proses obfuskasi mengompilasi kode menjadi bytecode khusus dengan virtual machine yang unik, sehingga perkakas universal menjadi mustahil. Obfuskasi standar jauh lebih mudah ditembus: hasilnya sering kali dapat dibalik sebagian menggunakan alat otomatis dan beautifier. Obfuskasi VM menuntut rekayasa balik penuh terhadap virtual machine-nya, mendekripsi dan mendekode bytecode-nya, memahami set instruksinya, serta menelusuri eksekusinya — proses yang dapat memakan waktu berminggu-minggu kerja intensif. Tanpa VM Self Defending, agen AI yang tangguh (mis. Claude Opus 4.7) dapat menelusuri bytecode dan merekonstruksi kode asli secara kasar untuk basis kode berukuran kecil. Dengan VM Self Defending yang diaktifkan, pertahanan anti-LLM berlapis — anti-hooking, verifikasi integritas lintas realm, dan pemeriksaan keaslian bytecode — mengacaukan teknik dinamis yang digunakan agen untuk memahami bytecode: instrumentasi, hooking, dan eksekusi di sandbox. Pembacaan statis atas berkas tetap dimungkinkan, tetapi yang tampak hanyalah bytecode yang tak bermakna, dan setiap upaya mengamati runtime yang menafsirkannya akan memicu pemeriksaan integritas. Hanya dari berkas itu saja, deobfuskasi otomatis oleh AI menjadi tidak praktis. Untuk memperkuat kode Anda lebih jauh: bungkus fungsi sensitif di dalam IIFE agar namanya ditransformasi sepenuhnya, dan aktifkan opsi penguatan seperti enkripsi bytecode. Pelajari lebih lanjut tentang cara VM mentransformasi kode.
Obfuskasi VM adalah teknologi yang kompleks, dan sebagian kasus tepi mungkin belum sepenuhnya didukung. Jika kode Anda rusak setelah obfuskasi VM, Anda dapat mempersempit masalahnya dengan menggunakan vmTargetFunctionsMode: 'comment' untuk mengobfuskasi fungsi tertentu secara selektif. Lihat panduan pemecahan masalah kami untuk instruksi langkah demi langkah dalam mengidentifikasi kode bermasalah dan melaporkannya.
Obfuscator menyisipkan kode baru untuk melindungi dari proses debugging dan rekayasa balik. String diubah menjadi heksadesimal, dan pada obfuskasi VM, satu interpreter virtual machine utuh disertakan bersama bytecode Anda. Jangan terlalu khawatir soal ukuran — kode hasil obfuskasi terkompresi sangat baik dengan GZIP, yang secara bawaan diaktifkan oleh sebagian besar server.
Setiap obfuskasi akan berdampak pada performa. Obfuskasi standar memiliki overhead yang minimal. Obfuskasi VM berdampak jauh lebih besar, dan sangat bergantung pada kodenya - misalnya, kode bytecode dengan banyak rekursi akan terasa jauh lebih lambat. Rata-rata, preset low menambah dampak sekitar 10x, sedangkan preset anti-LLM dengan Self Defending dan Debug Protection sekitar 12x lebih lambat. Anda dapat menyetel keseimbangannya dengan menyesuaikan opsi atau menerapkan obfuskasi VM hanya pada bagian kode yang sensitif. Lihat panduan praktik terbaik kami untuk kiat optimasi.
Tidak, hal itu tidak disarankan dan dalam beberapa kasus justru akan merusak kode (terutama jika Anda mengaktifkan self-defending). Namun, Anda boleh menjalankan kode Anda melalui minifier sebelum proses obfuskasi.
Untuk berkas di bawah 4.4 MB, kode sumber diproses sepenuhnya di memori dan langsung dikembalikan sebagai keluaran hasil obfuskasi. Untuk berkas yang lebih besar (paket Team/Business), berkas diunggah sementara ke penyimpanan aman dan dihapus segera setelah proses obfuskasi selesai. Sebagai pengaman tambahan, tugas pembersihan berjalan setiap 5 menit untuk menghapus berkas apa pun yang berumur lebih dari 5 menit. Kode Anda tidak pernah disimpan.
Tidak, mustahil mengembalikan kode hasil obfuskasi ke kode asli Anda, jadi simpanlah kode aslinya dengan aman.
Ya. Anda dapat memilih "Node" sebagai target pada opsi obfuskasi untuk mengoptimalkan keluaran bagi lingkungan Node.js.
Kami mendukung ES2015 (ES6) dan seluruh fitur JavaScript modern, termasuk sintaks ES2022+, private class field, async/await, optional chaining, dan lainnya. TypeScript dan JSX harus dikompilasi menjadi JavaScript sebelum diobfuskasi. Dengan paket berbayar, Anda juga dapat mengobfuskasi berkas HTML — tambahkan atribut data-javascript-obfuscator pada setiap tag <script> yang ingin Anda lindungi, dan masing-masing akan diobfuskasi secara terpisah dengan tetap mempertahankan struktur HTML. Perlu diperhatikan bahwa kode di setiap skrip yang ditandai harus berdiri sendiri (tanpa rujukan ke skrip lain), dan skrip ES module akan dilewati.
Keluaran hasil obfuskasi — termasuk interpreter VM dan lapisan Self Defending — didukung dan diuji secara aktif pada peramban desktop evergreen serta iOS 16+ (kurang lebih 3 tahun terakhir). Peramban yang lebih lama didukung sebisa mungkin hingga batas minimum dukungan ES2015 module; apa pun di bawah itu, termasuk Internet Explorer, berada di luar cakupan.
Lihat paket harga kami untuk proteksi VM, atau coba uji coba daring gratis untuk obfuskasi standar. Baca panduan memulai untuk penjelasan lengkapnya.
Harga & Akun
Pertanyaan seputar paket, penagihan, dan batas penggunaan.
pricing.faq.usageMeasured.answer
pricing.faq.exceedLimit.answer
pricing.faq.upgradeDowngrade.answer
pricing.faq.cancel.answer
pricing.faq.paymentMethods.answer
