Reversing Native Libraries

AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!

HackTricks'ı desteklemenin diğer yolları:

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 veya System.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:

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:

AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!

HackTricks'ı desteklemenin diğer yolları:

Last updated