x64 Assembly Akış Takibi ve Fonksiyon Analizi
x64 Assembly analizi, tersine mühendisliğin temel taşlarından biridir. Malware analistleri program akışını anlamak için register'ları, fonksiyon çağrılarını ve koşullu dallanmaları inceler. x64 mimarisinde ilk dört parametre sırasıyla RCX, RDX, R8 ve R9 register'ları üzerinden aktarılır.
Giris ve Temel Akis
x64 Assembly analizi, tersine mühendisliğin temel taşlarından biridir. Malware analistleri program akışını anlamak için register'ları, fonksiyon çağrılarını ve koşullu dallanmaları inceler. x64 mimarisinde ilk dört parametre sırasıyla RCX, RDX, R8 ve R9 register'ları üzerinden aktarılır.
Bu bölümün pratik akışı şu sırayla ilerler:
- mov rcx, 5
- mov rdx, 10
- call Calculate
- cmp rax, 20
- jne Failed
- jmp Success
Temel Kavram Eslesmeleri
x64 mimarisinde bazı register'lar özel amaçlar için kullanılır. Reverse engineering sırasında bunların görevleri bilinmelidir.
- RAX: Fonksiyon dönüş değeri
- RCX: Birinci parametre
- RDX: İkinci parametre
- RSP: Stack Pointer
Ilk Cekirdek Kavram
Bu bölümde öne çıkan çekirdek kavram RCX olarak verilir. x64 Windows calling convention içerisinde ilk parametre belirli bir register üzerinden iletilir.
Arac, Komut veya Inceleme Akisi
Fonksiyon analizi sırasında analistler programın çağrı zincirini takip eder.
Bu bölümün pratik akışı şu sırayla ilerler:
- main()
- Login()
- ValidateUser()
- CheckPassword()
- Dashboard()
Kanit ve Bilesen Iliskileri
Assembly komutları program akışını değiştirebilir veya veri işleyebilir.
- MOV: Veri taşıma
- CALL: Fonksiyon çağırma
- CMP: Karşılaştırma
- JMP: Koşulsuz dallanma
Ikincil Odak Noktasi
Bu bölümde öne çıkan çekirdek kavram CALL olarak verilir. Assembly analizinde CALL komutu programın başka bir fonksiyona geçmesini sağlar.
Operasyonel Dogrulama ve Raporlama
Koşullu dallanmalar malware analizinde önemli rol oynar. Lisans kontrolü, anti-debug ve kimlik doğrulama mekanizmaları genellikle bu yapılarla oluşturulur.
Bu bölümün pratik akışı şu sırayla ilerler:
- cmp eax, 1
- je Valid
- jmp Invalid
Cikti ve Kullanım Amaci
Koşullu dallanma komutları belirli flag değerlerine göre çalışır.
- JE: Eşitse dallan
- JNE: Eşit değilse dallan
- JG: Büyükse dallan
- JL: Küçükse dallan
Son Kavram ve Cikis
Bu bölümde öne çıkan çekirdek kavram JE olarak verilir. CMP komutu iki değeri karşılaştırır ve ardından koşullu dallanma komutları çalıştırılabilir.
Bu Egitimden Ne Kazanirsiniz?
Bu icerik, x64 Assembly Akış Takibi ve Fonksiyon Analizi konusunu SOC L3 - Tersine Mühendislik - Anti-Debug ve Kernel Analizi baglaminda parcali degil, butunlu bir ogrenme akisina donusturur. Yalnizca kavramlari ezberlemek yerine surec sirasini, bilesenler arasi iliskiyi ve hangi kanitin neden onemli oldugunu kavramayi hedefler.
Ozet
Bu ders kapsaminda one cikan basliklar: RAX, RCX, RDX, RSP, MOV, CALL, CMP, JMP, JE, JNE. Egitimin mantigi; once temel akis kurmak, sonra eslestirme ve kavram netlestirme yapmak, en sonda ise bulguyu operasyonel bir sonuca baglamaktir.