İçerik ve yerel arama Türkçedir; ortak kontroller dil tercihinizi izler.

~/execmap · GNU/Linux inceleme masası

Linux programlarını
dosyadan belleğe izle.

ELF dosyasını, yükleyiciyi ve çalışma anını
aynı hikâyenin parçaları olarak oku.

Tersine mühendislik için kaynaklı rehberler ve küçük, uygulanabilir laboratuvarlar. readelf ile başla; GDB, perf ve eBPF ile bulgularını doğrula.

bir ELF’in yolculuğux86-64 / Linux

$ readelf -lW ./ornek

Elf file type is DYN

LOAD0x0000R--
LOAD0x1000R-X
LOAD0x2000R--
LOAD0x3000RW-
dosya→yükleyici→bellek→yürütme

Örnek düzen · gerçek dosya analizi değildir.

$

14 rehber4 laboratuvarELF · GDB · perf · eBPFKaynağına kadar takip et ↗

cd ./nereden-baslamali

Bir inceleme sorusu seç.

Bütün rotalar →

find ./rehberler -type f

Rehber dizini

14 rehber
  1. "ELF'i dosyadan belleğe takip etmek"

    Header, segment ve section. Dosya offset’inden çalışma adresine uzanan yol.

    ELF ve yükleme
    6 dk okuma
    ↗
  2. "ELF parser'ları ve adres hesaplarını doğrulamak"

    Parser sonucunu sınamak, aralıkları doğrulamak ve pyelftools ile envanter çıkarmak.

    ELF ve yükleme
    5 dk okuma
    ↗
  3. "Linker düzenini ve bellek haritasını okumak"

    Input section, output section, VMA ve LMA. Linker’ın bıraktığı düzeni okumak.

    ELF ve yükleme
    4 dk okuma
    ↗
  4. "Program başlangıcı, yığın düzeni ve auxiliary vector (auxv)"

    Kernel, interpreter, runtime. main’e ulaşmadan önce gerçekleşenler.

    ELF ve yükleme
    5 dk okuma
    ↗
  5. "Dinamik bağlama: GOT, PLT ve sembol çözümleme"

    GOT, PLT, relocation ve sembol çözümleme. Bir çağrının gerçek hedefini bulmak.

    ELF ve yükleme
    5 dk okuma
    ↗
  6. "Stripped ELF dosyalarını anlamlandırmak"

    İsimler silindiğinde kalan semboller, unwind verisi ve ayrı debug dosyaları.

    Tersine mühendislik
    4 dk okuma
    ↗
  7. "İkili fark analizi (Binary Diffing) ve sürüm karşılaştırma"

    Bayt farkından davranış farkına. Sürümleri ve fonksiyonları karşılaştırmak.

    Tersine mühendislik
    4 dk okuma
    ↗
  8. "Özel yükleyiciler ve bellek içi çalıştırma (In-Memory Execution)"

    Yeni bir exec olmadan belleğe yerleştirilen kodun izini sürmek.

    Tersine mühendislik
    4 dk okuma
    ↗
  9. "Paketli ve şifrelenmiş ELF (Packers) analizi"

    Paketleme belirtileri, açılma anı ve bellekten alınan kodu yorumlamak.

    Tersine mühendislik
    4 dk okuma
    ↗
  10. "Çekirdek dökümleri (Core Dumps) ve bellek anlık görüntüleri (Snapshots)"

    Core dosyasını register, thread, mapping ve modül bilgisiyle anlamlandırmak.

    Tersine mühendislik
    4 dk okuma
    ↗
  11. "perf ile yürütme analizi ve donanımsal izleme"

    Sayaçlar, örnekleme ve Intel PT. Nerede çalışıldığını doğru yorumlamak.

    Çalışma anı
    3 dk okuma
    ↗
  12. "eBPF ile çalışma anı olaylarını izlemek"

    Syscall, mapping ve uprobe olaylarını süreç bağlamıyla ilişkilendirmek.

    Çalışma anı
    3 dk okuma
    ↗
  13. "Analiz aracının etkisi ve anti-tersine mühendislik"

    Doğrudan syscall, ptrace kontrolleri ve gözlemin program üzerindeki etkisi.

    Çalışma anı
    4 dk okuma
    ↗
  14. "Çalışma anı izlerini yorumlamak ve adli bilişim metodolojisi"

    Gözlem, hipotez ve kanıt. Zamanı, kimliği ve eksik kayıtları hesaba katmak.

    Çalışma anı
    3 dk okuma
    ↗

mkdir deney && cd deney

Oku. Derle. Karşılaştır.

Laboratuvarlara git →

man elf · kaynak masası

Bir bulgu, kaynağı kadar güçlüdür.

ABI şartnameleri, Linux kaynak kodu ve araç yazarlarının belgeleri;
neyi açıkladıkları ve nerede sınırlı kaldıklarıyla birlikte.

Kaynak kütüphanesini aç

execmap / ara

Aramak için birkaç harf yaz.