Sponsor Reklam 


30.12.2008 (08:06)

 Java'da Obfuscation Nedir? Nasıl Yapılır? 
Java'da yazdığımız kaynak kodlar (source codes) derlendikten sonra class tipinde dosyalar üretilir. Eğer derlenmiş kodumuza obfuscation (karıştırma) işlemi yapmazsak, üretilen class dosyaları üzerinden tekrar kaynak dosyalarına dönüş yapılabilir. Bu da genelde istenmeyen durumdur. Çünkü yazılan kod elde edilmektedir.

Obfuscation işleminde sınıflar ve birçok kısım yeni isim alır ve onlara olan referanslar da değiştirilir. Örnek olarak, Math.java kodundan elde edilecek class Math.class değil de A.class olacaktır.

Obfuscation kodu karıştırmakla beraber sıkıştırma işlemi de yapmış olur. Ortalama olarak %40 oranında kazanç sağlar. Bu kazanç en çok cep telefonu uygulamları olan MIDlet programlarda faydalı olacaktır. Çünkü cep telefonunun hafıza kapasitesi, programları çalıştırmak için bir hayli küçüktür.

Obfuscation işlemi için paralı veya ücretsiz çeşitli programlar bulunmaktadır. İşte bazı obfuscator programları:

Ücretsiz:
* proguard
* yGuard
* JavaGuard

Ücretli:
* retrologic
* allatori
* pcsentinelsoftware

IDE'lerden ücretsiz olan NetBeans'te de obfuscation işlemi yapılabilmektedir.

NetBeans'te izlenmesi gereken adımlar şunlardır:

1. Projenizi tamamlayınız.
2. Projeyi Build ediniz (F11).
3. Proje isminize sağ tıklayın ve özellikleri (Properties) seçin.
4. Kategoriden (Category) Build içinde Obfuscating'i seçin.
5. Obfuscation Level'i OFF'tan HIGH'a getirin.
6. OK butonuna basın.
7. Projeyi tekrar Build ediniz.

Böylece maksimum derecede karıştırma ve sıkıştırma işlemi yapılacaktır.

Artık byte kodumuz (byte code) da karıştırma işleminden sonra elde edilmiş olacak.

Ürettiğiniz uygulamanın büyüklüğünü görmek ve karşılaştırmak isterseniz şu yolu takip ediniz:

Files > Projeniz > dist > Projeniz.jar > Properties
Burada "File Size:" kısmında dosya büyüklüğünü görebilirsiniz.
Imza: admin








Yazilar kaynak gosterilmeden kopyalanamaz © www.kodcu.net // Twitter