Skip to content

📖 Sıfırdan bire, Android tersine mühendisliği sistematik olarak öğren, öğrenmeyi eğlenceli, keyifli ve kolay hale getir! 🚀

License

Notifications You must be signed in to change notification settings

Okinelog/AndroidReverse101

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 AndroidReverse101 | 100 Günde Android Tersine Mühendisliğe Hakim Ol

  • Son Güncelleme: 24 Şubat 2025
  • Yazar: Evil0ctal
  • Translate: ChatGPT
  • GitHub Deposu: AndroidReverse101
  • ⭐ Star, Fork ve PR ile katkı yapabilirsin! Birlikte Android tersine mühendislik öğrenelim, paylaşalım!

📖 Sıfırdan başlayarak Android tersine mühendisliğini sistematik şekilde öğren, öğrenmeyi eğlenceli, keyifli ve kolay hale getir!

💡 Öğrenme Hedefleri

  1. Yeni Başlayan Dostu: Hiç programlama bilmesen bile adım adım öğrenebilirsin.
  2. Derinlemesine Teknik: CPU mimarisi, assembly dili, ARM komut seti, Android çalışma mantığı gibi temel teknikleri öğren.
  3. Uygulamalı Eğitim: Her gün bir konu + uygulama ile pratik yap, öğrendiğini hemen kullan.
  4. Kırma ve Güvenlik Dengesi: Hem kırma (crack) tekniklerini öğren hem de Android güvenlik sistemini anla.

🚀 Birinci Aşama: Bilgisayar Temelleri & Tersine Mühendisliğe Giriş (Gün 1 - Gün 20)

🔹 Hedef: Bilgisayarın temel mimarisini anlamak, 16'lık sayı sistemi, CPU komut seti, assembly dili ve Android'in çalışma prensiplerini öğrenmek.

Gün Konu İçerik
🏁 Gün 1 Tersine Mühendislik Nedir? Gerçek dünya vs. yazılım dünyası, tersine mühendisliğin kullanım alanları
🔍 Gün 2 Android Tersine Mühendisliğin Tarihi & Gelişimi Eski APK kırma yöntemlerinden modern uygulama korumalarına
⚙️ Gün 3 CPU Komut Seti Nedir? CISC vs. RISC, Android neden ARM kullanıyor
🔥 Gün 4 Sayı Sistemi Dönüşümleri: 16'lık Sistem Neden Önemli? 2'lik, 10'luk, 16'lık sayı sistemlerinin dönüşümü ve uygulamaları
🏗 Gün 5 Assembly Dili Temelleri Assembly ve makine kodu ilişkisi, register'ların rolü
🏹 Gün 6 x86 vs. ARM Assembly x86 komutları ve ARM komutları arasındaki farklar
📜 Gün 7 ARM Assembly Komut Analizi MOV, ADD, SUB, LDR, STR komutları
🚀 Gün 8 Fonksiyon Çağrısı ve Dönüşü BL, BX, CALL, RET komutlarının açıklamaları
🏗 Gün 9 Android CPU Mimarisi Analizi ARMv7, ARMv8, ARM64 arasındaki farklar
📦 Gün 10 Dalvik vs. ART Çalışma Zamanı Android'in Java sanal makinesi kodu nasıl çalıştırıyor?
🔥 Gün 11 Android Süreç Yönetimi Zygote süreci nedir, uygulama süreçlerinin yaşam döngüsü
🚀 Gün 12 Android İzin Mekanizması AndroidManifest.xml dosyasındaki izinler uygulama güvenliğini nasıl etkiler?
📂 Gün 13 Android Uygulama Dizin Yapısı /data/data klasörünün analizi, uygulama veri depolama alanı
🔍 Gün 14 APK Nasıl Yüklenir? Android süreçleri APK dosyalarını nasıl çözümler?
🛠 Gün 15 El ile ARM Assembly Kodlama (Deney) Basit bir ARM assembly programı yazıp çalıştırmak
🔬 Gün 16 Disassembler Araçları Tanıtımı IDA Pro, Ghidra, objdump gibi araçlar
🏴 Gün 17 ELF Dosya Analizi readelf ile .so dosya yapısının incelenmesi
🔥 Gün 18 Native Katman Nasıl Debug Edilir? LLDB / GDB ile .so dosyalarını debug etmek
🚀 Gün 19 Android Uygulama Güvenlik Mekanizmaları SELinux, uygulama sandbox'u, root tespiti
🛡 Gün 20 CTF Tersine Mühendislik Yarışması (Başlangıç) Bir Android tersine mühendislik CTF yarışmasına katılmak

🔍 İkinci Aşama: APK Tersine Mühendislik Temelleri (Gün 21 - Gün 50)

🔹 Hedef: APK yapısını, DEX dosyalarını, Smali dilini, dinamik debug gibi temel yetenekleri kazanmak.

Gün Konu İçerik
🛠 Gün 21 APK Dosya Yapısı Analizi AndroidManifest.xml, kaynak dosyalar, DEX dosyası
🔄 Gün 22 APK Nasıl Geri Derlenir? jadx, apktool, baksmali tanıtımı
📜 Gün 23 DEX Dosya Yapısı Analizi ClassDefItem, MethodIdItem, StringIdItem
📦 Gün 24 Smali Diline Giriş Smali kod yapısı, komutların açıklamaları
📝 Gün 25 Smali Kodunu Düzenleme Deneyi smali kodunu elle değiştirerek VIP kısıtını kaldırmak
🚀 Gün 26 APK Yeniden Paketleme & İmzalama apktool ile APK’yı değiştirip tekrar paketlemek ve imzalamak
🔍 Gün 27 Dinamik Debug’a Giriş logcat ile uygulama davranışlarını izlemek
🔬 Gün 28 Frida ile Java Metodlarını Hook Etme Java metotlarının dönüş değerini değiştirmek
🏹 Gün 29 Frida Hook Uygulamalı Root tespitini atlatmak
💉 Gün 30 JNI ve Native Metotların Tersine Mühendisliği libnative.so dosyasını analiz etmek
🔥 Gün 31 Xposed’e Giriş Java metotlarını hook’lamak, uygulama davranışını değiştirmek
🚀 Gün 32 Uygulamalı: VIP Kısıtını Kırmak isVip() metodunu hook’layıp uygulamada üyelik açmak
🔗 Gün 33 SSL Pinning Atlatma HTTPS isteklerini kırmak ve API verisini yakalamak
🛡 Gün 34 Android Kod Karıştırma ve Geri Açma ProGuard, R8 çalışma mantığı
🔍 Gün 35 Tersine Şifreleme Algoritmaları (MD5, AES, RSA) Uygulamanın şifreleme mantığını analiz etmek
🔥 Gün 36 WebSocket & API İsteklerini Analiz Etmek Burp Suite ile protokol analizi
🚀 Gün 37 Uygulama Kısıtlarını Kırmak (Uygulamalı) isForceUpdate() fonksiyonunu atlatmak
🏹 Gün 38 Oyun Kırma Temelleri buyItem() fonksiyonunu hook’layıp oyun içi satın almayı simüle etmek
🔬 Gün 39 Anti-Debug Korumasını Atlatma ptrace() korumasını aşmak
🏴‍☠️ Gün 40 Android Koruma Mantığı 360 koruma, Tencent koruma gibi sistemler nasıl çalışır
🔍 Gün 41 Korunan APK’yı Şifre Kırmak (Başlangıç) Frida DumpDex ile korumalı APK’dan kod çıkarmak

🚀 Üçüncü Aşama: İleri Düzey Tersine Mühendislik & CTF Meydan Okumaları (Gün 51 - Gün 100)

🔹 Hedef: Android koruma ve koruma atlatma, protokol analizi, zafiyet araştırmalarında uzmanlaşmak.

Gün Konu İçerik
🔥 Gün 60 CTF Tersine Mühendislik Meydan Okumalarını Derinlemesine Analiz Etmek Zor seviye APK’leri analiz etmek
🏴‍☠️ Gün 70 Tersine Mühendislik ile 0Day Açığı Bulmak Gerçek uygulamaları tersine mühendislik ile analiz edip güvenlik açıklarını bulmak
🏆 Gün 100 Nihai Meydan Okuma: Tam Bir Uygulamayı Tersine Mühendislik ile Çözmek Şifreleme algoritmalarını çöz, protokolleri analiz et, VIP özelliklerini kır

🔥 100 günün sonunda eksiksiz bir Android tersine mühendislik bilgisine sahip olacaksın! 🔓 Uygulamaları kır, güvenlik açıklarını analiz et, Android’in derinlerine in! 🚀


🔍 Crackme Soruları

Crackme, tersine mühendislikte sıkça karşılaşılan ve pratik yapmak için hazırlanan meydan okuma sorularıdır.

Soru Açıklama Zorluk
Crackme 1 Bu uygulamanın bir yerinde gizli bir metin var, bunu bulmaya çalış. ⭐️
Crackme 2 Bu uygulamada gizli içerikler var, yer yer yerel (native) kod izlerine rastlayabilirsin. ⭐️⭐️

📚 Ekler: Öğrenme Kaynakları & Araç Tavsiyeleri

  1. Kitap Tavsiyeleri:

    • Android Güvenliği ve Savunma Pratikleri
    • Android Tersine Mühendislik
    • Android Hacker's Handbook
    • Android Açıkları ve Tersine Analiz
    • Android Güvenliği Yetkili Kılavuz
  2. Araç Tavsiyeleri:

    • Geri derleme araçları: jadx, apktool, dex2jar
    • Dinamik debug araçları: Frida, Xposed
    • Tersine mühendislik araçları: IDA Pro, Ghidra, Hopper
    • Debugger: LLDB, GDB
    • Koruma araçları: 360 Koruma, Tencent Koruma, Alibaba Koruma
    • Tersine platformları: Cuckoo, VirusTotal
    • Ağ proxy araçları: Burp Suite, Charles, Fiddler, Wireshark, mitmproxy, reqable
    • Sandbox: DroidBox, AndroBugs, QARK
  3. Öğrenme Siteleri:

  4. Topluluklar & Forumlar:

  5. CTF Yarışmaları:

  6. Güvenlik Konferansları:

  7. Ödül Avcılığı Platformları:

  8. Güvenlik Blogları:

📝 Yazarın Notu

🔥 Android tersine mühendislik hem eğlenceli hem de zorlu bir beceridir!

🚀 Sistematik çalışmayla, tersine mühendisliğin temel yeteneklerini öğrenerek yetkin bir güvenlik araştırmacısı olabilirsin!

📚 Öğrenmek asla bitmez, sürekli kendini geliştir!

👨‍💻 Başarılar!

About

📖 Sıfırdan bire, Android tersine mühendisliği sistematik olarak öğren, öğrenmeyi eğlenceli, keyifli ve kolay hale getir! 🚀

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%