Pwdec
merhabayın

MobileAppSec / Android Uygulamaları #5

Android Uygulamaları

Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız.


Smali Code:

Bir uygulama kodu oluşturduğunuzda, apk dosyası ikili Dalvik bayt kodunu içeren bir .dex dosyası içerir. Bu, platformun gerçekten anladığı biçimdir. Bununla birlikte, ikili kodu okumak veya değiştirmek kolay değildir, bu nedenle insan tarafından okunabilir bir temsile dönüştürmek için araçlar vardır. İnsanların okuyabileceği en yaygın biçim Smali olarak bilinir.

Örnek java kodu;

Kod:
int x = 42
Bunu okumak isterseniz şöyle bir dizi göreceksiniz

Kod:
13 00 2A 00
Üzerinde baksmali (okumaya çalışmak için bir araç) çalıştırırsanız, bu metin gekecek.

Kod:
const/16 v0, 42
Açıkçası ikili koddan çok daha okunaklı. Ancak platform smali hakkında hiçbir şey bilmiyor, sadece bayt koduyla çalışmayı kolaylaştıran bir araçtır.Dalvik ve ART, dalvik bayt kodunu içeren .dex dosyalarını alır. Uygulama geliştiricisine tamamen şeffaftır, tek fark, uygulama kurulup çalıştırıldığında perde arkasında olanlardır.


Bu resim yeniden boyutlandırıldı, tam halini görmek için tıklayınız.


DEX ve Smali kod dosyaları arasındaki fark;
Örnekteki java kodundan devam edelim, dizeler yani ikili kodu platform anlayabilir bunu değiştirmek ve okumak zordur. Bu nedenle bu ikili kodları okumaya çalışmak için araçlar vardır. Bizim okyabileceğimiz en yaygın biçim ise smali olarak biliniir.


APK: Android Application Package,tahmin edebileceğiniz gibi android paket dosyalarıdır, bunlar zip dosyasıdır fakat .apk uzantılıdır.



JAR: Rar veya zip gibi düşünün ama jar dosyaları java ya özgüdür. Açılımı Java Archive dir. Açılımından aklınıza gelebilir
Share

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir