Senin, 29 Juni 2015

Cara Decompile File Jar


Pada artikel kali ini saya akan mencoba untuk mengulas bagaimana caranya kita ingin membongkar source code pada file executeable java (.jar). Caranya ternyata tidak begitu sulit, kita cukup menyiapkan sebuah tools decompiler untuk melakukan decompiling file JAR tersebut menjadi source code kembali (.java). Tools decompiler ini tersedia di Java Decompiler. Silahkan download tools tersebut terlebih dahulu.

Ketika sudah mendownload tools tersebut, buka tools tersebut.

Gambar Membuka Java Decompiler Tools
Setelah dibuka maka akan tampil form seperti gambar berikut ini

Gambar Form Utama Java Decompiler Tools

Pilih Menu File > Open File. Kemudian pilih file jar yang ingin didecompile menjadi source code. Pada contoh di artikel ini saya memilih program java sederhana yang telah saya buat dengan nama Decompile.

Gambar Setelah Memilih File Jar
Setelah itu pilih Menu File > Save All Sources. Ketika telah disave, maka akan menjadi seperti yang ditampilkan pada gambar berikut ini.
Gambar Hasil Save Source Untuk Decompile.jar
Kemudian extract file tersebut, dalam contoh artikel ini, file yang diextract adalah Decompile.jar.src.zip. Pada akhirnya nanti kita akan menemukan file Decompile.java. Pada artikel ini terletak pada direktori \Decompile.jar.src\decompile\Decompile.java. Langkah terakhir yaitu membuka file Decompile.java tersebut dengan editor tercinta Anda. Kemudian Anda akan melihat source code tersebut. Berikut adalah source code hasil decompile dari tools Java Decompiler.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*    */ package decompile;
/*    */ 
/*    */ import javax.swing.JOptionPane;
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ 
/*    */ public class Decompile
/*    */ {
/*    */   public static void main(String[] args)
/*    */   {
/* 19 */     JOptionPane.showMessageDialog(null, "Halo");
/*    */   }
/*    */ }


/* Location:              D:\Tio\Decompile\dist\Decompile.jar!\decompile\Decompile.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */

Seperti itulah hasil source code yang telah didecompile. Formatnya memang agak berbeda daripada kita menulis dari awal. Dan sedikit catatan dari saya pribadi, terkadang tools Java Decompiler ini menghasilkan source code tidak 100% benar (ada error jika dicompile lagi) namun kesalahannya tidak begitu fatal melainkan seperti adanya nama kelas atau variable yang sama dan pada scope yang sama yang telah dideklarasikan, ataupun seperti adanya kelas yang perlu didefinisikan namun tidak didefinisikan terlebih dahulu sehingga menyebabkan error.

Sekian dahulu dari saya, semoga dapat bermanfaat. Terimakasih.

4 komentar:

  1. Bespoke USB Memory Sticks Gift Factory is CaraUSB, China Shenzhen Customized USB Flash Driver factory, personalized power bank gifts manufacturer,Gifting USB Sticks customization supplier,bespoke usb memory sticks, usb promotions, bulk usb drives, flash disk, usb flash disk, flash memory, usb flash sticks, usb pendrive,branding realizable usb disk products. Custom USB Thumb Drive, customized with your logo. To meet your unique gift ideas, corporate Gifts, promotional giveaways, advertising gifts, custom usb drive, branding merchandise, powerbank factory, exclusive usb gifts, promotion usbs, Items Incentives. www.carausb.com

    BalasHapus
  2. bro kalo mau balikin jadiin .jar lagi dari decompile gimana ya?
    terimakasih

    BalasHapus
    Balasan
    1. Kalau ingin mengembalikan kembali ke .jar lagi biasanya harus lihat library dependency nya juga, misal pada source code .java itu menggunakan library tambahan, saat mau mengcompile lagi, library itu harus disertakan kembali (add reference). Tapi jika memang tidak ada library tambahan. Sepertinya bisa langsung dilakukan compile kembali. CMIIW

      Hapus
  3. bisa gax gan membuat file jar menjadi projeck netbeans lagi.

    BalasHapus