Lompat ke konten
Aback Tools Logo

Deobfuscator dan Unpacker Ruby

Deteksi dan balikkan obfuskasi Ruby secara otomatis. Mengidentifikasi string yang dikodekan Base64.decode64() dan Base64.strict_decode64(), dekode Base64 dengan .unpack("m"), pola cipher XOR, panggilan dispatch dinamis send(), definisi runtime define_method, eval() bersarang dengan pembongkaran rekursif, dan string terpaket hex via .pack("H*"). Setiap deteksi menyertakan skor keyakinan, nomor baris sumber, dan konteks kode di sekitarnya. Gratis, privat, dan tanpa pendaftaran.

Ruby Deobfuscator & Unpacker

Detect and reverse Ruby obfuscation techniques. Automatically identifies Base64 eval, .unpack("m"), XOR cipher patterns, send() dynamic dispatch, define_method, nested eval, and hex-packed strings with confidence ratings and source context.

Examples:

Paste Ruby code above and click Analyze Ruby Codeto detect obfuscation patterns. The tool identifies Base64 eval, .unpack("m"), XOR cipher patterns, send() dispatch, define_method, nested eval, and hex-packed strings. Try loading an example to see how it works!

Fitur

  • 7 detektor pola obfuskasi Ruby: otomatis mendeteksi string yang dikodekan Base64.decode64() dan Base64.strict_decode64(), dekode Base64 dengan .unpack('m'), pola byte dengan cipher XOR (bytes.zip.cycle.map .pack), panggilan dispatch dinamis send(), definisi dinamis define_method, eval() bersarang dengan dekode rekursif, dan string terpaket hex dengan .pack('H*'). Setiap detektor memakai pencocokan pola khusus Ruby.
  • Tampilan nilai terkode dan analisis terdekode: setiap deteksi menampilkan nilai terkode asli atau indikator obfuskasi di samping hasil terdekode atau analisis dalam kartu yang rapi. String Base64 didekode sepenuhnya, eval bersarang dibongkar rekursif hingga 3 tingkat, dan panggilan send/define_method menampilkan nama metode dinamis.
  • Skor keyakinan dan konteks sumber: setiap deteksi mendapat peringkat keyakinan 1-5: sangat tinggi untuk Base64 terdekode yang memuat kata kunci Ruby (def, class, require), tinggi untuk dekode yang berhasil, sedang untuk deteksi send/define_method, dan rendah untuk pola XOR yang memerlukan runtime. Nomor baris sumber dan konteks kode di sekitarnya disertakan untuk setiap indikator.
  • 100 % lokal di browser dan privat: seluruh deobfuskasi Ruby berjalan sepenuhnya di browser Anda. Kode Ruby Anda, semua indikator yang terdeteksi, nilai terdekode, dan hasil analisis tidak pernah meninggalkan perangkat Anda. Tanpa unggahan ke server, tanpa panggilan API, tanpa penyimpanan data, dan tanpa pelacakan.

Apa itu deobfuskasi Ruby?

Deobfuskasi Ruby adalah proses mendeteksi dan membalik teknik obfuskasi kode yang disengaja pada program Ruby. Kode Ruby terobfuskasi sering menyembunyikan string, panggilan metode, dan logika untuk menghindari analisis statis, melewati alat keamanan, atau melindungi kekayaan intelektual. Teknik umum meliputi mengenkode string dengan Base64, memakai .unpack("m") untuk dekode inline, menyembunyikan panggilan metode di balik dispatch dinamis send(), mendefinisikan metode saat runtime dengan define_method, dan membungkus muatan dalam panggilan eval() bersarang. Mendekobfuskasi Ruby penting untuk analisis keamanan, respons insiden, dan memahami kode Ruby berbahaya atau terlindungi.

Bagaimana Deobfuscator Ruby kami bekerja

Deobfuscator Ruby memindai kode sumber Ruby memakai pencocokan pola sadar bahasa untuk setiap teknik obfuskasi. Panggilan Base64.decode64() dideteksi dengan mengekstrak argumen string dan mendekodenya melalui fungsi atob() browser. Pola .unpack("m") diidentifikasi dan didekode dengan cara serupa. Panggilan eval() bersarang dibongkar rekursif hingga 3 tingkat, mencoba mendekode Base64 di dalamnya pada setiap tingkat. Panggilan send() diidentifikasi dari argumen nama metode berupa string, dan definisi define_method ditangkap bersama nama metodenya. Pola cipher XOR (bytes.zip dengan cycle.map dan XOR pada pack) dideteksi dengan penanda konteks. Seluruh pemrosesan berjalan lokal di browser Anda.

Batasan dan pertimbangan

Alat ini memiliki batasan penting. Pola cipher XOR terdeteksi tetapi tidak dapat didekode tanpa kunci sebenarnya saat runtime — pola ini ditandai untuk investigasi manual. Enkripsi khusus memakai pustaka OpenSSL atau Digest Ruby tidak didukung. Pembangunan string berbasis variabel ("this_" + "that") tidak terdeteksi sebagai obfuskasi karena itu pola Ruby yang sah. Muatan terkompresi gzip tidak ditangani karena Zlib Ruby tidak tersedia di browser. Selalu verifikasi keluaran terdekode sebelum bertindak berdasarkan hasilnya — positif palsu dapat terjadi pada kecocokan string yang kebetulan.

Privasi dan keamanan

Alat ini berjalan sepenuhnya di browser Anda memakai JavaScript sisi klien. Kode Ruby yang Anda tempelkan, semua indikator obfuskasi yang terdeteksi, nilai terdekode, dan hasil analisis tidak pernah diunggah ke server mana pun, disimpan di basis data, atau dikirim melalui jaringan. Seluruh penguraian, pencocokan pola, dan dekode berjalan lokal di perangkat Anda. Tidak ada panggilan API, pelacakan analitik, cookie, atau pengumpulan data apa pun. Ini menjadikannya sepenuhnya aman untuk menganalisis kode Ruby berpemilik, gem pihak ketiga, sampel malware, atau kode sumber sensitif.

Pertanyaan yang Sering Diajukan

Alat ini mendeteksi tujuh pola obfuskasi Ruby yang umum: Base64.decode64() dan Base64.strict_decode64() dengan string berenkode Base64, dekode Base64 dengan .unpack("m"), manipulasi byte dengan cipher XOR (bytes.zip dengan cycle.map dan XOR), panggilan dispatch dinamis send() dengan nama metode berupa string, definisi metode dinamis define_method, eval() bersarang dengan dekode Base64 rekursif hingga 3 tingkat, serta string berenkode hex dengan .pack("H*").

Ketika alat menemukan panggilan eval() dengan argumen string, alat secara rekursif mencoba mendekode panggilan Base64.decode64() atau .unpack("m") di dalam string tersebut. Setiap lapisan yang didekode diperiksa lagi untuk panggilan eval() tambahan, hingga 3 tingkat. Ini mengungkap kode Ruby sebenarnya setelah semua lapisan obfuskasi dikupas.

Pola cipher XOR biasanya menggunakan kunci yang didefinisikan di tempat lain dalam kode atau dibangun secara dinamis, sehingga mustahil didekripsi tanpa eksekusi saat runtime. Alat mendeteksi pola strukturalnya (bytes.zip dengan cycle dan XOR) dan menandainya untuk investigasi manual. Anda dapat menjalankan potongan XOR di runtime Ruby untuk mendapatkan nilai terdekode yang sebenarnya.

Skor keyakinan berkisar 1 hingga 5. Skor 5 (sangat tinggi) diberikan ketika konten yang didekode Base64 memuat kata kunci Ruby seperti def, class, require, atau module — bukti kuat kode Ruby terobfuskasi. Skor 4 (tinggi) untuk dekode base64/unpack yang berhasil atau pembongkaran eval bersarang bertingkat. Skor 3 (sedang) untuk deteksi dispatch send() dan define_method. Skor 2 (rendah) untuk deteksi pola XOR yang dekodenya memerlukan eksekusi saat runtime.

Tidak. Alat ini mencakup pola obfuskasi Ruby paling umum, tetapi tidak dapat menangani semua metode. Alat tidak dapat mendekode string yang dibangun melalui penggabungan, array, atau pencarian hash. Alat tidak dapat mendekripsi data terenkripsi OpenSSL, membalik fungsi transformasi, atau menangani data terkompresi Zlib Ruby. Obfuskasi lanjutan mungkin memerlukan analisis dinamis di lingkungan runtime Ruby.

Di Ruby, send() memungkinkan pemanggilan metode secara dinamis berdasarkan nama: alih-alih obj.method(), penyerang memakai obj.send("method") untuk menyembunyikan nama metode dari analisis statis. define_method membuat metode saat runtime, memungkinkan kode didefinisikan secara dinamis. Keduanya adalah alat metaprogramming yang sah, tetapi sering disalahgunakan dalam kode Ruby terobfuskasi untuk menghindari deteksi berbasis tanda tangan.

Tentu saja. Deobfuscator Ruby berjalan sepenuhnya di browser Anda. Kode Ruby Anda, indikator yang terdeteksi, nilai terdekode, dan hasil analisis tidak pernah diunggah ke server mana pun, disimpan di basis data, atau dikirim melalui jaringan. Seluruh pemrosesan terjadi secara lokal di perangkat Anda, tanpa panggilan API maupun pengumpulan data.

Ya — 100 % gratis, tanpa pendaftaran, tanpa akun, dan tanpa batas penggunaan. Analisis kode Ruby sebanyak yang Anda butuhkan, sesering yang Anda mau. Tidak ada tingkatan premium, biaya tersembunyi, atau batas laju. Alat berjalan sepenuhnya di browser Anda — kode Anda tidak pernah meninggalkan perangkat.