.Apk Uzantılı Dosyaların Kaynak Kodlarını Öğrenme!

`TR0GRES

Uzman üye
1 Mar 2020
1,355
714
Carpe Diem



[-] 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







 

TheDex0

Yeni üye
5 May 2023
2
0



[-] 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

- 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 Ücretsiz çevrimiçi APK indiricisi ile Android On Android'i indirin - APKPure 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







Yararlı Bir Konu Olmuş Eline Sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.