Obfuscation adalah salah satu cara untuk melindungi properti intelektual yang berada di dalam program yang ditulis dengan bahasa Java. Banyaknya informasi yang disertakan di dalam file .class membuat dekompilasi mudah dilakukan pada program Java. Oleh karena itu muncullah bermacam-macam obfuscator, yang mencegah atau mempersulit dilakukannya reverse engineer yang diawali dekompilasi. Dalam tesis ini dilakukan studi perbandingan antara enam buah obfuscator Java, di antaranya tiga bersifat open-source dan tiga lainnya komersial.Dalam pelaksanaan riset, dibuat beberapa transformasi balik yang dapat mempermudah proses reverse engineering, sehingga dari hasil obfuscation itu dapat dikeluarkan source code Java yang dapat di-dekompilasi.Transformasi balik meliputi pemetaan ulang nama, penghapus enkripsi string, penghapus exception handling palsu, serta penghapus predikat transparan. Transformasi balik menghilangkan efek transformasi obfuscation yang tidak resilient, sehingga analisa berikutnya hanya dipengaruhi oleh transformasi obfuscation yang resilient.Perbandingan dilakukan pada beberapa ukuran, yaitu besar program, banyaknya kondisional, banyaknya variabel lokal, dan banyaknya blok terlabel (labeled block) yang ditemukan pada source code hasil dekompilasi. Pada tesis ini ditunjukkan keunggulan dan kekurangan pada beberapa obfuscator yang dibandingkan.
Perpustakaan Digital ITB