14 Şubat 2008 Perşembe

Java Reverse Engineering

Türkçe'de Ters Mühendislik olarak bilinen Reverse Engineering ile ilgili ilginç bir döküman...

KULLANILACAK ARAÇLAR:


1. DJ Java Decompiler- Jar dosyalarını, class dosyalarını metin formatında kaynak koda çeviren program. Ayrıntılar sitesinde mevcut.
Kod:
http://members.fortunecity.com/neshkov/dj.html


2. JADMaker- .jar dosyalarından jad dosyası yapmaya yarayan program.
Kod:
http://www.geocities.com/mangokun/jadmaker/jadmaker.htm


3. Java SDK- Java geliştirme platformu
Kod:
http://java.sun.com/j2se/1.4.2/download.html


4. Sony Ericsson SDK 2.5.0 for the Java(TM) ME Platform (127 MB)- Ters mühendislik ile elde edilen kaynak kodları derlemek ve emülatörü ile nasıl çalıştığını görmek için
Kod:
http://developer.sonyericsson.com/getDocument.do?docId=96957


Daha önce java ile hiç uğraşmamış biri olarak java cep telefonu programlarının (oyun, uygulama) nasıl yazıldığını merak edip başladık bu olaya. Hala da javanın j'sini bilmiyorum. Neyse hikayeyi bırakıp olaya gelelim. Googledaki aramalarım sonunda java dosyalarının decompile edilebileceğini öğrendim ve 1. programı buldum. Ama bu konuda internette bir kaynak bulamadım ve başladım deneme yanılma yöntemine.
.jar uzantılı cep telefonu uygulamaları winrar ile bir klasöre açıldığında içinde class dosyaları, ikonlar vs. birçok dosya çıkıyor.

Aslında java bilenler daha farklı yollar önerebilirler belki.

1. Adım:
JADMaker programıyla .jar uzantılı dosyadan jad dosyası oluşturacağız. Bunun için jar dosyasını JADMaker ikonunun üzerine sürükleyip bırakmak yeterli.

2. Adım:
Java ME SDK menüsünden WTK2'deki KToolbarı çalıştırıyoruz. Farklı SDKlar da kullanabilirsiniz bu iş için yada Netbeans, Eclipse gibi daha gelişmiş java araçları. Belki onlarda bu işlemler daha pratik yapılıyodur. Bilenler görüşlerini iletirlerse iyi olur.

Proje oluşturacağız şimdi. KToolbar File menüsünden Create Project from JAD/JAR File seçip 1. Adımda oluşturduğumuz jad dosyasını seçiyoruz.

Şimdi klasörlerimiz oluştu. Nerede mi? C:\SonyEricsson\JavaME_SDK_CLDC\PC_Emulation\WTK2\apps klasörü içinde.
Aslında proje oluşturmadan da bu işi halledebiliriz. İleride tekrar döneceğiz bu konuya.

3. Adım:
1. aracımız java decompiler ile jar dosyasını açıyoruz. Archiver bizim jar dosyasının içindeki bütün dosyaları gösteriyor. Hepsini fareyle tarayıp seçerek Decompile tuşuna basıyoruz. Kaydedeceğimiz klasörü seçiyoruz. Klasör yapısının aynen oluşması için sorulan soruya yes cevabı verip devam ediyoruz. Şimdi seçtiğimiz klasörün içinde bazı class dosyaları ve jad uzantılı dosyalar oluştu. Bu klasör yapısını hiç bozmuyoruz. jad dosyaları class dosyalarının kaynak kodları. Uzantılarını java yapıyoruz. Class dosyalarını silebiliriz. Bu klasörü 2. adımdaki apps klasörünün içine kopyaladığımızda projemiz hazır. Ancak içindeki ikonlar bin dosyalar ve farklı dosyalar eksik. Bunları da Winrar ile açtığımız jar dosyasının içinden klasör yapısı aynı kalacak şekilde kopyalayacağız.

4. Adım:
Artık kaynak dosyalarımız hazır olduğuna göre üzerlerinde istediğimiz değişiklikleri yapıp derlemek kalıyor geriye sadece. KToolbardan Build seçiyoruz. Hta yaptıysak derleme başrısız olur ve hatalar altta gösterilir. Derleme başarılı ise Run komutu ile çalıştırdığımızda emülatörde program açılır. Bazı programlar emülatörde çalışmayabiliyor ya da telefonda.

5. Adım:
Artık dosyaları birleştirip jar dosyası oluşturmaya geldi sıra. KToolbar Project menüsünden Create Package seçiyoruz.
C:\SonyEricsson\JavaME_SDK_CLDC\PC_Emulation\WTK2\apps klasörünün içindeki proje klasörümüzde bin klasörünün içinde jar ve jad dosyası kullanıma hazır. Güle güle kullanın.

Kaynak: MTCT

0 yorum:

Paylaş

Twitter Delicious Facebook Digg Stumbleupon Favorites