Professional Documents
Culture Documents
Android UygulamalarınTersine Mühendislik Yöntemi Ile Incelenmesi
Android UygulamalarınTersine Mühendislik Yöntemi Ile Incelenmesi
Tersine mhendislik bir aygtn, objenin veya sistemin; yapsnn, ilevinin veya
almasnn, karmc bir akl yrtme analiziyle kefedilmesi ilemidir. Makine veya
mekanik alet, elektronik komponent, yazlm program gibi paralarna ayrlmas ve alma
prensiplerinin detayl ekilde analizini ierir.
Bir android uygulamasn herhangi bir ariv program (Winrar,Winzip v.b.) ile atmzda
ierisinde Meta-InfClass, Resorce, AndroidManifest ve Res dosyalarn barndrd grlr.
imdi bu dosyalarn genel anlamda ieriinden bahsedelim.
META-INF Klasr
o MANIFEST.MF: Bildiri dosyas.
o CERT.RSA: Uygulama sertifikas.
o CERT.SF: Kaynaklarn listesi.
res: Kaynaklar ieren dizin.
classes.dex: Dalvik sanal makinesi (Dalvik virtual machine) tarafndan anlalabilir dex
dosya biiminde derlenmi dosyadr.
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
1
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
2
Enter Name ve Enter Serial ksmn herhangi bir eyler yazdmzda Bad boy
uyarsn gzlemledik.
Karmza kan uyarlar ilerleyen admlarda reverse ileminde bizlere yardmc olacak.
imdi Crackme03.apky APK-MultiTool aracl ile decomplie edelim. Setup.bat altrp
Setup Directories seelim. Daha sonrasnda Crackme03.apk dosyasn place-apk-here-formodding ierisine kopyalayalm.
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
3
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
4
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
5
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
6
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
7
Bylece reverse ilememimiz tamamlanm oldu. Ayrca reverse ilemini aadaki gibi de
yapabilirdik.
o
Apk dosyamz herhangi bir ariv program (Winrar,Winzip v.b.) ile aalm ve
ierisinden classes.dex uzantl dosyay bir klasre kopyalayalm.
o
Konunun banda verdiimiz linklerden Dex2jar ve Java Decompiler programlarn
indirelim ve arivden karlm.
o
Dex2jar klasrnn ierisine classes.dex dosyasn yaptralm.
o
Dex2jar klasr ierisinde komut satrn ap dex2jar.bat classes.dex yazp enter
tuuna basalm.
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
8
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
9
Uygulamamz daha ok alk olduumuz Java dilinde kaynak kodunu grebildik. Yine
burada da atanan register deerlerini R.class ierisinde karlklarn grebiliriz.
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
10
Kaynak ierisinde serialin nasl oluturulduu aadaki ksmnda kolayca anlaya biliyoruz.
Neden Smali?
Android .apk ve .jar dosyalar ierisinde belirli ilevleri yerine getirmek zere Java snflar
yer alr. Smali ile Java snflar dzenlenebilir ve deitirebilir formata gelir. Jar formatnda
ise kaynak kodu rahatlkla okuyabiliriz ama zerinde deiikliker yapp tekrardan kullanlr
hale getirilemesi zor bir sretir. Bu sebeplerden dolay deiiklikler iin ara kod dzeyi
olarak tabir etiimiz Smali kodu zerinden kaynak kodu obfuscate edilmemi android
uygulamalar zerinde tersine mhendislik yntemi ile deiikler yapabilir ve programn
ileyiine mdahale edebiliriz.
Dex< > Smali < Jar
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
11
Hakkmzda
2009 ylnda kurulmu ve sadece bilgi gvenlii hizmetlerine odaklanm olan BTRisk Bilgi
Gvenlii ve BT Ynetiim Hizmetleri bilgi gvenlii problemine ynetim kurulu seviyesinden
sistem odas uygulamasna kadar uzanan alanda zm retmektedir.
BTRisk bilgi gvenlii problemini grnr hale getirerek alglanmasn, anlalmasn ve
dolaysyla ele alnmasn mmkn hale getirmektedir.
BTRisk bilgi gvenlii problemine kar gelitirdii yaklamlar gerek hayat koullarnda test
etmi ve uygulanabilir hale getirmitir.
blog.btrisk.com
@btrisk
/btrisktv
/btrisk
12