Deobfuscator Java & Pembantu Dekompiler
Deteksi dan dekode pola terobfuskasi dalam kode sumber Java. Mengidentifikasi urutan escape Unicode, pengodean string hex, literal numerik terobfuskasi, string berenkode Base64, dan penggabungan array karakter. Menampilkan setiap deteksi dengan nilai terkode dan terdekode berdampingan, tingkat keyakinan, dan konteks sumber. Gratis, privat, dan tanpa pendaftaran.
Detect and decode obfuscated patterns in Java source code. Identifies Unicode escapes, hex string encodings, obfuscated numeric literals, Base64 encoded strings, and char array concatenation. Shows encoded and decoded values side by side with detection confidence.
Paste Java code above and click Analyze Java Code to detect and decode obfuscated patterns. The tool identifies Unicode escapes, hex string encodings, obfuscated numeric literals, Base64 strings, and char array concatenation. Try loading an example to see how it works!
Fitur
- 5 Detektor Pola Obfuskasi: secara otomatis mendeteksi urutan escape Unicode (\\uXXXX), dekode string hex, literal numerik terobfuskasi (hex, oktal, biner), string berenkode Base64, dan penggabungan array karakter. Setiap metode menggunakan mesin deteksi khususnya sendiri dengan pencocokan pola regex dan heuristik.
- Tampilan Terkode & Terdekode Berdampingan: setiap obfuskasi yang terdeteksi menampilkan nilai terkode asli di samping hasil terdekode. Nilai terkode tampil dalam monospace dengan statistik panjang karakter, sedangkan nilai terdekode disorot secara visual untuk pemindaian dan perbandingan cepat.
- Penguraian Angka Terobfuskasi: mendeteksi dan mendekode literal numerik terobfuskasi termasuk hex (0xFF), oktal (0377), biner (0b11111111), dan ekspresi yang disamarkan dengan operasi bitwise. Menampilkan nilai numerik asli di samping representasi terobfuskasinya dengan konteks lengkap.
- Privasi Lokal di Browser: semua pemrosesan deobfuskasi Java berjalan sepenuhnya di browser Anda. Kode sumber Java, pola obfuskasi yang terdeteksi, dan nilai terdekode Anda tidak pernah meninggalkan perangkat. Tanpa unggahan server, tanpa pengumpulan data, tanpa panggilan API apa pun.
Apa itu Obfuskasi Java?
Obfuskasi Java mengubah bytecode atau kode sumber Java agar jauh lebih sulit direkayasa balik sambil mempertahankan fungsinya. Berbeda dari C++ atau Rust yang dikompilasi, bytecode Java mempertahankan metadata yang kaya, termasuk nama kelas, tanda tangan metode, entri pool konstanta, dan tabel nomor baris — semuanya dapat dimanfaatkan untuk rekayasa balik. Teknik obfuskasi yang umum meliputi escape Unicode (\u0048 alih-alih "H"), string hex (array byte dari literal hex), angka terobfuskasi (hex, oktal, biner, ekspresi bitwise), pengodean Base64, dan penggabungan array karakter (membangun string dari karakter tunggal). Memahami teknik-teknik ini adalah langkah pertama untuk mendobfuskasi kode Java secara efektif.
Cara Kerja Deobfuscator Java Kami
Deobfuscator memindai kode sumber Java menggunakan detektor pola khusus untuk setiap teknik obfuskasi yang dikenal. Untuk escape Unicode, alat ini mengekstrak urutan \uXXXX dan mengonversinya ke karakter Unicode yang sesuai menggunakan String.fromCodePoint(). Untuk string hex, alat ini mendeteksi pasangan digit hex dan string berenkode Base64 di dalam literal string dan mengonversinya menjadi teks terbaca. Untuk angka terobfuskasi, alat ini mengidentifikasi literal hex (0x), oktal (berprefiks 0), dan biner (0b) serta mengevaluasinya ke padanan desimalnya. Untuk array karakter, alat ini menemukan inisialisasi array karakter berurutan dan pola penggabungan, mengumpulkan karakter untuk merekonstruksi string tersembunyi. Setiap deteksi menyertakan konteks sumber di sekitarnya dan nomor baris.
Pertimbangan Khusus Deobfuskasi Java
Obfuskasi Java memiliki beberapa karakteristik unik. Escape Unicode diproses selama fase lexer Java — bahkan sebelum kompilator melihat kodenya — yang berarti \u0048 setara dengan 'H' pada tingkat sumber. String hex di Java sering muncul sebagai new String(byte[]) atau konstruksi serupa. Angka terobfuskasi di Java menggunakan prefiks 0x untuk hex, nol di depan untuk oktal, dan 0b untuk biner. ProGuard, obfuscator Java yang paling umum, terutama mengganti nama kelas, metode, dan field, tetapi juga mendukung enkripsi string melalui plugin pihak ketiga seperti Stringer atau DexGuard. Keluaran yang sudah dideobfuskasi membantu Anda memahami bagaimana kode tersebut sebelum obfuskasi diterapkan.
Privasi & Keamanan
Alat ini berjalan sepenuhnya di browser Anda. Kode sumber Java, pola obfuskasi yang terdeteksi, dan nilai terdekode Anda tidak pernah diunggah ke server mana pun, disimpan di basis data mana pun, atau dikirim melalui jaringan apa pun. Semua penguraian, pencocokan pola, dan dekode dijalankan secara lokal di perangkat Anda menggunakan JavaScript sisi klien. Tidak ada panggilan API, pelacakan analitik, cookie, atau pengumpulan data apa pun. Ini membuatnya sepenuhnya aman untuk menganalisis kode Java berpemilik, sumber APK yang didekompilasi, sampel malware, atau aplikasi perusahaan yang rahasia.
Pertanyaan yang Sering Diajukan
Alat ini mendeteksi lima teknik obfuskasi Java yang umum: urutan escape Unicode (pola \uXXXX yang diselesaikan lexer Java saat kompilasi), konstruksi string hex (pasangan digit hex yang didekode menjadi teks terbaca), literal numerik terobfuskasi (hex 0xFF, oktal 0377, dan biner 0b11111111 yang dikonversi ke desimal), string berenkode Base64 di dalam literal string, dan pola penggabungan array karakter tempat karakter tunggal atau string kecil digabungkan untuk membentuk teks tersembunyi.
ProGuard terutama mengganti nama kelas, metode, dan field menjadi nama pendek tak bermakna (a, b, c), yang tidak dikembalikan oleh alat ini. Namun, alat ini dapat mendeteksi dan mendekode teknik obfuskasi berbasis string yang ditambahkan plugin kompatibel ProGuard seperti Stringer, DexGuard, atau obfuscator khusus. Untuk obfuskasi nama ProGuard, Anda memerlukan file mapping.txt dari ProGuard untuk memetakan nama kembali ke aslinya.
Java mengizinkan urutan escape Unicode (\uXXXX) di mana pun dalam kode sumber, termasuk di dalam pengenal dan komentar. Kompilator Java memproses escape ini selama analisis leksikal sebelum penguraian, sehingga \u0048 setara dengan 'H'. Obfuscator memanfaatkannya untuk menyembunyikan string dengan mengodekannya sebagai urutan escape Unicode yang tidak dapat dibaca alat tanpa dekode Unicode. Misalnya, "Hello" menjadi "\u0048\u0065\u006C\u006C\u006F".
Obfuscator Java sering mengodekan string sebagai array byte hex dan membangunnya saat runtime menggunakan metode seperti new String(byte[]), StringBuilder.append((char)0x48), atau String.format(). Alat ini mendeteksi pola digit hex (0x48, \x48, atau pasangan hex biasa) di dalam literal string dan konstruktor byte, mengonversinya menjadi teks terbaca. Ini umumnya digunakan bersama pengodean Base64 untuk obfuskasi berlapis.
Java mendukung beberapa format literal bilangan bulat: desimal, heksadesimal (prefiks 0x), oktal (nol di depan), dan biner (prefiks 0b, Java 7+). Obfuscator memanfaatkannya untuk menyamarkan nilai numerik. Misalnya, nomor port 8080 dapat muncul sebagai 0x1F90, 017620, atau 0b1111110010000. Alat ini mendeteksi semua format tersebut dalam ekspresi numerik dan mengevaluasinya ke padanan desimalnya dengan konteks sumber lengkap.
Tidak. Alat ini mencakup teknik pengodean paling umum tetapi memiliki keterbatasan. Alat ini tidak dapat mendekode algoritma enkripsi khusus, konstruksi string berbasis refleksi, string yang dihasilkan saat runtime, string yang dibangun melalui kode native (JNI), atau string yang didekode melalui pemuatan kelas dinamis. Selain itu, obfuskasi yang menggunakan beberapa lapisan pengodean atau transformasi kriptografi khusus mungkin memerlukan beberapa lintasan atau analisis manual.
Tentu saja. Deobfuscator Java berjalan sepenuhnya di browser Anda. Kode sumber Java, pola yang terdeteksi, dan nilai terdekode Anda tidak pernah diunggah ke server mana pun. Semua pemrosesan terjadi secara lokal di perangkat Anda tanpa panggilan API, tanpa analitik, dan tanpa pengumpulan data. Ini sepenuhnya aman untuk menganalisis kode berpemilik, sampel malware, atau aplikasi sensitif.
Ya — 100% gratis tanpa pendaftaran, tanpa akun, dan tanpa batas penggunaan. Analisis sebanyak apa pun kode Java yang Anda butuhkan, sebanyak apa pun Anda mau. Tidak ada tingkatan premium, biaya tersembunyi, atau batas laju. Alat ini berjalan sepenuhnya di browser Anda — kode Anda tidak pernah meninggalkan perangkat.