Reversing Native Libraries
WhiteIntel, şirketin veya müşterilerinin hırsız kötü amaçlı yazılımlar tarafından kompromize edilip edilmediğini kontrol etmek için ücretsiz işlevler sunan dark-web destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını ücretsiz deneyebilirsiniz:
Daha fazla bilgi için kontrol edin: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html
Android uygulamaları, performans açısından kritik görevler için genellikle C veya C++ ile yazılmış olan yerel kütüphaneleri kullanabilir. Kötü amaçlı yazılım oluşturucuları da bu kütüphaneleri kullanır, çünkü bunlar DEX bytecode'a göre tersine mühendisliği daha zorlaştırır. Bölüm, Android'e özgü tersine mühendislik becerilerine odaklanırken, montaj dillerini öğretmek yerine vurgulamaktadır. Uyum sağlamak için ARM ve x86 sürümleri sağlanmıştır.
Ana Noktalar:
Android Uygulamalarında Yerel Kütüphaneler:
Performans yoğun görevler için kullanılır.
Tersine mühendisliği zorlaştıran C veya C++ ile yazılmıştır.
Linux ikililerine benzer şekilde
.so
(paylaşılan nesne) biçiminde bulunur.Kötü amaçlı yazılım oluşturucuları analizi zorlaştırmak için yerel kodu tercih eder.
Java Native Interface (JNI) ve Android NDK:
JNI, Java yöntemlerinin yerel kodda uygulanmasına izin verir.
NDK, yerel kod yazmak için Android'e özgü bir araç setidir.
JNI ve NDK, Java (veya Kotlin) kodunu yerel kütüphanelerle birleştirir.
Kütüphane Yükleme ve Yürütme:
Kütüphaneler,
System.loadLibrary
veyaSystem.load
kullanılarak belleğe yüklenir.Kütüphane yüklendiğinde JNI_OnLoad çalıştırılır.
Java tarafından bildirilen yerel yöntemler, yerel işlevlerle bağlantı kurarak yürütme sağlar.
Java Yöntemlerini Yerel İşlevlere Bağlama:
Dinamik Bağlama: Yerel kütüphanelerdeki işlev adları belirli bir deseni eşleştirir, otomatik bağlama sağlar.
Statik Bağlama: Bağlama için
RegisterNatives
kullanır, işlev adlandırma ve yapısında esneklik sağlar.Tersine Mühendislik Araçları ve Teknikleri:
Ghidra ve IDA Pro gibi araçlar yerel kütüphaneleri analiz etmede yardımcı olur.
JNIEnv
, JNI işlevlerini ve etkileşimleri anlamak için önemlidir.Kütüphaneleri yükleme, yöntemleri bağlama ve yerel işlevleri tanımlama pratiği yapmak için egzersizler sağlanmaktadır.
Kaynaklar:
ARM Montajı Öğrenme:
Altta yatan mimariyi daha iyi anlamak için önerilir.
Azeria Labs'ten ARM Montaj Temelleri tavsiye edilir.
JNI ve NDK Belgeleri:
Yerel Kütüphaneleri Hata Ayıklama:
WhiteIntel, şirketin veya müşterilerinin hırsız kötü amaçlı yazılımlar tarafından kompromize edilip edilmediğini kontrol etmek için ücretsiz işlevler sunan dark-web destekli bir arama motorudur.
WhiteIntel'in başlıca amacı, bilgi çalan kötü amaçlı yazılımlardan kaynaklanan hesap ele geçirmeleri ve fidye saldırılarıyla mücadele etmektir.
Websitesini ziyaret edebilir ve motorlarını ücretsiz deneyebilirsiniz:
Last updated