[-] Konu İçeriği [-]
>> Apk Nedir.
>> Decompile Nedir.
>> ByteCode Nedir.
>> Compiler Nedir.
>> Gereken Programları kurmak.
>> Uygulamanın Kaynak kodlarını Öğrenmek.
Apk Nedir
APK ( Android Application Package ) dosyası cihazda yükleme yapmak için tüm öğelerin bulunduğu , android platformunda kullanılan ön tanmlı bir dosya biçimidir.
Decompile Nedir
Apk dosyasını kaynak kodlarına dönüştürme işlemidir.
ByteCode Nedir
Bytecode , CPU yerine bir sanal makinede çalışmak üzere derlenen nesne yönelimli programlama kodudur.
Compiler Nedir
(Derleyici ) Geliştiricilerin herhangi bir programlama dilini kullanarak yazdığı kaynak kodu bilgisayarın anlayacağı sistem olan 0 ve 1 lere çevirme işlemidir.
Gereken Programları kurmak
Apk dosyamızın kaynak kodlarını görmek için kullanacağımız iki tane program var JD-GUİ VE DEX2JAR Bunların kurulumlarını sırasıyla yapalım.
!zip dosyasını açmak için winrar programını kullandım eğer sizde yoksa Buradan indirebilirsiniz
JD-GUİ Kurulumu
- Java Decompiler sitesine gidiyoruz,
-Windows kullandığım için windows için olanı indiriyorum,
-Program indirip masaüstüne aldım sağ tık -> dosyaları ayıkla deyip dosyaları masaüstüne kuruyoruz
DEX2JAR Kurulumu
- https://sourceforge.net/projects/dex2jar/ sitesine gidiyoruz ,
- download butonuna basıp programı indiriyoruz
- sağ tık -> dosyaları ayıkla deyip masaüstüne dosyaları çıkartıyoruz.
Uygulamanın Kaynak kodlarını Öğrenmek
Şimdi temel terimleri öğrendik , programlarımızı kurduk son olarak da apk dosyamızın kaynak kodlarını öğreneceğız. Bunun için ben https://apkpure.com/tr/ sitesinden bir tane apk indirdim.
uygulamamıza sağ tıklayıp yeniden adlandır deyip .apk olan uzantısını .zip olarak değiştiriyoruz.
Uygulamayı winrar ile açıp classes.dex isimli dosyayı masaüstüne alıyoruz
dex2jar programını açıyoruz classes.dex dosyasını d2j-dex2jar dosyasının üzerine bırakıyoruz.
sonrasında terminal ekranı açılacak
ardından masaüstüne dosyamız oluşacak bu dosya ile apk dosyasının kaynak kodlarını öğreneceğiz.
JD-GUİ programını açıyoruz
masaüstünde oluşan dosyamızı seçiyoruz
ve uygulamanın kaynak kodları elimizde
Apk dosyamızı zip dosyası olarak açtığımız zaman classes.dex dosyası dışında bir kaç tane klasörde bulunuyor, Bu klasörlerin görevleri
src Klasörü
Source kelimesinin kısaltılmışı olarak kullanılmıştır,
Projede kullanılan kaynak kodlar/dosyaların bulunduğu klasördür.
classes.dex Klasörü
ava ile kodlanmış, Java derleyicisi ile derlenmiş ve dex aracı ile Dalvik sanal makinesinde,
çalışacak hale dönüştürülmüş Android uygulamasıdır.
res Klasörü
Reseources kelimesinin kısaltılmışıdır,
Projede kullanılılan kaynakların bulunduğu klasördür.
lib Klasörü
Kütüphanelerin koyulduğu klasördür.
M-E-T-A-INF Klasörü
Bu dosya, JAR'ın içeriği hakkında M-E-T-A verilerin olduğu klasördür.
AndroidManifext.xml Klasörü
Uygulamanın taslağının bulunduğu klasör,
Uygulamada yer alan izinler/uygulamanın kullanılacağı cihazlar vb... bilgilerin bulunduğu klasördür.
Bin Klasörü
Uygulamamızın derlenmış halinin bulunduğu klasördür