Obfuscator Nama Variabel JavaScript
Ganti nama semua variabel, fungsi, dan nama kelas JavaScript menjadi pengidentifikasi pendek dan tidak berarti untuk melindungi kode sumber Anda dari rekayasa balik biasa. Pilih antara nama alfabet pendek atau nama gaya hex, konfigurasikan ekspor dan pelestarian global, dan lihat tabel pemetaan penggantian nama lengkap - semua pemrosesan berjalan secara lokal di browser Anda tanpa perlu mendaftar.
Paste your JavaScript code below to rename all variables, functions, and classes to short, meaningless names. Choose between short alphabetic names or hex-style names. Configure whether to preserve global references and exported symbols. All processing runs locally in your browser - no signup required.
| Original Name | Obfuscated Name | Length Change |
|---|---|---|
| discount | a | -7 |
| join | h | -3 |
| length | d | -5 |
| price | e | -4 |
| push | i | -3 |
| quantity | b | -7 |
| round | f | -4 |
| tax | j | -2 |
| toFixed | c | -6 |
| total | g | -4 |
Mengapa Menggunakan Obfuscator Nama Variabel JavaScript Kami?
- Penggantian Nama Variabel Cerdas: Ganti nama semua variabel JavaScript, nama fungsi, nama kelas, dan parameter secara instan menjadi pengidentifikasi yang pendek dan tidak berarti. Obfuscator mendeteksi deklarasi lokal, parameter fungsi, klausa catch, dan variabel for-loop - hanya mengganti nama yang penting sambil mempertahankan kata-kata khusus dan global bawaan.
- Tabel Pemetaan Nama Lengkap: Lihat setiap keputusan penggantian nama dalam tabel pemetaan jelas yang menampilkan nama asli dan nama yang dikaburkan secara berdampingan. Urutkan berdasarkan perubahan panjang untuk melihat nama mana yang paling menghemat ruang. Pemetaan membantu Anda memverifikasi semua pengidentifikasi telah diubah dengan benar tanpa benturan.
- Dua Gaya Penamaan: Pilih antara nama alfabet pendek (a, b, c, ..., aa, ab) untuk pengurangan keterbacaan maksimum, atau nama gaya hex (_0x1a, _0x2b, _0x3c) yang meniru obfuscator komersial umum. Kedua gaya menghasilkan pengidentifikasi JavaScript yang valid.
- Pemrosesan Browser Aman & Pribadi: Semua penggantian nama variabel berjalan sepenuhnya di browser Anda menggunakan analisis berbasis regex JavaScript. Kode sumber, kekayaan intelektual, dan algoritma sensitif Anda tidak pernah meninggalkan perangkat Anda. Tidak ada pendaftaran, tidak ada unggahan data, tidak ada pelacakan - privasi lengkap terjamin.
Kasus Penggunaan Umum untuk Obfuscator Nama Variabel JavaScript
- Lindungi Perpustakaan JavaScript Komersial: Pengembang perpustakaan JavaScript menggunakan kebingungan nama variabel untuk melindungi kode komersial mereka dari rekayasa balik biasa. Mengganti nama variabel deskriptif seperti kalkulasiTotalPrice menjadi nama yang tidak berarti seperti a atau _0x1a akan mempersulit pesaing untuk memahami logika implementasi Anda.
- Perlindungan Skrip Sisi Klien SaaS: Penyedia SaaS dengan JavaScript sisi klien menggunakan kebingungan variabel untuk melindungi logika bisnis kepemilikan, pola integrasi API, dan algoritme pemrosesan data yang terlihat di browser. Dikombinasikan dengan minifikasi, nama variabel yang dikaburkan meningkatkan hambatan bagi pesaing dalam menganalisis kode front-end Anda.
- Distribusi Plugin WordPress & CMS: Pengembang plugin dan tema WordPress mendistribusikan aset JavaScript yang dikaburkan untuk melindungi karya mereka agar tidak mudah disalin atau dimodifikasi. Penggantian nama variabel mempersulit pengguna yang tidak berwenang untuk menambal pemeriksaan lisensi atau mengekstrak fungsionalitas kepemilikan dari plugin Anda.
- Tantangan Riset Keamanan & CTF: Peneliti keamanan dan peserta Capture The Flag (CTF) menggunakan kebingungan nama variabel untuk menciptakan tantangan rekayasa balik. Mengganti nama variabel menjadi nama yang tidak jelas adalah teknik dasar untuk mengajarkan keterampilan deobfuscation dan analisis kode JavaScript.
- Penyembunyian Kode Pendidikan: Instruktur dan pembuat kursus menggunakan kebingungan variabel untuk mendistribusikan solusi latihan tanpa mengungkapkan kode yang dapat dibaca. Siswa dapat menguji keluaran terhadap hasil yang diharapkan sambil didorong untuk mengembangkan pendekatan implementasi mereka sendiri.
- Pipeline Build Pra-Penerapan: Integrasikan kebingungan nama variabel ke dalam pipeline build Anda sebagai garis pertahanan pertama. Sebelum diterapkan ke produksi, ganti nama semua variabel lokal dan nama fungsi internal secara otomatis untuk mengurangi keterbacaan paket JavaScript yang Anda kirimkan.
Apa Kebingungan Nama Variabel?
Kebingungan nama variabel adalah teknik perlindungan kode yang menggantikan nama pengidentifikasi yang bermakna dalam kode JavaScript dengan alternatif yang singkat dan tidak berarti. Misalnya, variabel deskriptif seperti calculTotalPrice menjadi a atau _0x1f . Transformasi ini membuat kode sumber secara signifikan lebih sulit dipahami oleh manusia dan alat analisis statis, sekaligus menjaga kode tetap dapat dieksekusi sepenuhnya. Kebingungan nama variabel adalah salah satu teknik paling mendasar dan banyak digunakan dalam perlindungan kode JavaScript, yang digunakan oleh obfuscator komersial seperti UglifyJS, Terser, dan Jscrambler.
Cara Kerja Obfuscator Nama Variabel Kami
- Parsing & Identifikasi: Alat ini memindai kode sumber JavaScript Anda untuk menemukan semua nama pengenal. Ini mendeteksi variabel yang dideklarasikan dengan var, let, dan const, deklarasi dan ekspresi fungsi, nama kelas, parameter fungsi (termasuk fungsi panah), variabel klausa catch, dan variabel kontrol for-loop.
- Filter & Peta: Kata kunci JavaScript yang dicadangkan, global bawaan (jendela, dokumen, konsol, Matematika, dll.), dan nama yang dikonfigurasi pengguna untuk dipertahankan (ekspor) tidak termasuk dalam penggantian nama. Setiap pengidentifikasi yang tersisa mendapatkan nama pendek unik yang dihasilkan menggunakan skema penamaan base-26 atau hex dengan deteksi tabrakan.
- Ganti & Keluaran: Menggunakan penggantian regex yang sadar batas kata, setiap kemunculan setiap pengidentifikasi asli diganti dengan padanannya yang dikaburkan. Alat ini menghasilkan tabel pemetaan lengkap yang menunjukkan transformasi asli hingga dikaburkan untuk setiap pengidentifikasi yang diganti namanya.
Apa yang Diganti Namanya Selama Kebingungan
- Deklarasi Variabel Lokal: Variabel yang dibuat dengan fungsi, blok, atau modul di dalam let, const, dan var diubah namanya menjadi pengidentifikasi pendek. Hanya variabel dengan nama yang lebih panjang dari satu karakter yang dipertimbangkan untuk diganti namanya.
- Nama Fungsi & Metode: Nama deklarasi fungsi, ekspresi fungsi, dan definisi metode dalam kelas diganti namanya - kecuali jika diekspor atau ditandai untuk disimpan.
- Parameter Fungsi: Semua parameter formal dalam fungsi reguler, fungsi panah, dan fungsi asinkron diganti namanya. Ini termasuk parameter default dan parameter lainnya.
- Pengikatan Kelas & Tangkapan: Nama deklarasi kelas dan nama variabel pengecualian dalam klausa tangkapan diganti namanya. Juga menangani variabel iterasi for-loop (for let i...) dan destrukturisasi pengikatan pola.
Privasi & Batasan
Obfuscator nama variabel JavaScript kami memproses semuanya secara lokal di browser Anda. Kode sumber Anda tidak pernah meninggalkan perangkat Anda - tidak ada unggahan, tidak ada pemrosesan server, tidak ada penyimpanan data. Namun, kebingungan nama variabel saja memiliki batasan penting: ia tidak melindungi literal string (yang masih mengungkapkan titik akhir dan pesan API), tidak mencegah analisis aliran kontrol, dan tidak menghentikan insinyur balik yang dapat menggunakan debugger dan alat analisis AST. Untuk perlindungan menyeluruh, gabungkan ini dengan pengkodean string, pengaburan aliran kontrol, dan teknik lainnya. Selalu uji kode yang dikaburkan secara menyeluruh sebelum diterapkan ke produksi.
Pertanyaan yang Sering Diajukan
Obfuscator nama variabel JavaScript adalah alat yang mengganti nama semua variabel, fungsi, dan nama kelas yang bermakna dalam kode JS Anda menjadi pengidentifikasi yang pendek dan tidak berarti. Misalnya, hitungTotalPrice menjadi a atau _0x1f. Hal ini membuat kode sumber Anda jauh lebih sulit dibaca dan dipahami sekaligus menjaganya tetap berfungsi penuh.
Tidak. Obfuscator nama variabel kami hanya mengubah nama pengenal sambil mempertahankan semua struktur kode lainnya. Kata kunci JavaScript yang dicadangkan, global bawaan, dan nama tersimpan yang dikonfigurasi pengguna tidak diubah. Output yang dikaburkan dijalankan secara identik dengan aslinya.
Obfuscator mempertahankan semua kata dan kata kunci yang dicadangkan JavaScript, objek dan fungsi global bawaan (jendela, dokumen, konsol, Matematika, JSON, Array, Objek, dll.), dan nama yang Anda pilih untuk dipertahankan melalui opsi "Pertahankan Ekspor". Saat diaktifkan, nama yang diekspor tidak diubah untuk menjaga kompatibilitas modul.
Nama pendek menggunakan skema alfabet basis 26 (a, b, c, ..., z, aa, ab, ...) sehingga menghasilkan keluaran paling ringkas. Nama hex menggunakan _0x diikuti dengan angka heksadesimal (_0x1a, _0x2b, _0x3c), meniru obfuscator komersial populer. Keduanya menghasilkan pengidentifikasi JavaScript yang valid.
Sangat. Obfuscator nama variabel kami berjalan sepenuhnya di browser Anda menggunakan JavaScript - tidak ada data yang diunggah ke server mana pun. Kode sumber, kekayaan intelektual, dan algoritme kepemilikan Anda tidak pernah lepas dari perangkat Anda. Tidak perlu mendaftar, privasi lengkap.
Tidak. Kebingungan nama variabel membuat kode lebih sulit dibaca dengan mengganti nama pengidentifikasi, namun tidak mengenkripsi kode. Kode terenkripsi tidak dapat dijalankan tanpa dekripsi, sedangkan kode yang dikaburkan berjalan normal. Kebingungan adalah pencegah yang meningkatkan upaya yang diperlukan untuk rekayasa balik.
Ya. Alat ini dapat diintegrasikan ke dalam alur kerja pengembangan Anda sebagai langkah pra-penerapan. Cukup ambil keluaran yang dikaburkan dan sertakan dalam artefak bangunan Anda. Output tabel pemetaan membantu Anda men-debug masalah dengan menunjukkan dengan tepat bagaimana setiap nama diubah.
Ya - obfuscator nama variabel JavaScript kami 100% gratis tanpa perlu mendaftar, tanpa tingkat premium, tanpa batasan penggunaan, tanpa batasan ukuran file, dan tanpa iklan. Gunakan tanpa batas waktu untuk proyek pribadi atau komersial apa pun.