Image

Malware giriş.

Malware

BlackNullSec Path #2: Pointer 2 Nedir?

🧠 Mental Model:

Pointer = adres tutar
Ama bu adresler nerede?
→ Stack (otomatik bellek)
→ Heap (manuel bellek)
Bu yüzden pointer öğrenmeden memory öğrenilemez.

Stack(Yıgın Bellek)


👉 Tanım:
    • 1.)Otomatik
    • 2.)Küçük ve hızlı
    • 3.) Genelde int a=5
    • 4.) Function içinde oluşur
    • 5.) Otomatik silinir

Heap (Yıgın Bellek)


👉 Tanım:
  • 1) programcı tarafından yonetilir
  • 2.) Büyük boyutlu veri depolamak
  • 3.)malloc(),relloc(),calloc()ayrılır
  • 4.)Free() ile manuel temizlenir.
  • 5.)Program bitene kadar kalabilir
  • 6.)- Yanlış kullanılırsa memory leak olur

malloc(size)=Heaptan(size) kadar byte ayırır
Free(ptr) = Daha once mallox ile ayrılmış alanı temizler
memset(ptr,val,size)=belirtilen(ptr) adresinden itibaren (size) kadar alanı(val) ile doldurur
memcpy(dest,src,size)=kaynak(src)veriyi hedef(dest)kopyalar

memset(ptr,val,size)


👉 Tanım:
xptr=Hedef bellek adresi (başlangiç noktası)
xval=Hangi degerle doldurulacagı (or=0)
xsize=kaç byte dolduralacagı
Görevi=Bellegi belirli bir kısmında tek bir sabit degerle doldurmak
Genellikle bellek sıfırlama val=0 kullanılır
int arr [10]:
memset(arr,0,sizeof(arr)); // arr içindeki tüm byte0 yapar

memcpy(dest,src,size)


👉 Tanım:
dest=verinin kopyalanacagı hedef adres
src=kaynak adres(verinin bulundugu yer)
size=kaç byte bellek kopyalandıgı
Ör:char source[]="Merhaba"
char destination[10];
memcpy(destination,source,strlen(source)+1);

Not: Kaynaktan hedefe bellek kopyadan shellcode,dosya verisi,bellek üzerinden bir baska bir yere taşıma

malloc

Bellekten dinamik olarak yer ayırmanı saglar.,,


👉 Örnek
int *ptr=(int *)malloc(sizeof(int)),
malloc(sizeof(int))->Bellekte inr kadar yer ayır
🧪 Pointer + Heap Örneği
int *p = malloc(sizeof(int));
*p = 10;
  • 1.) malloc heap'te yer ayırır
  • 2.) pointer bu adresi tutar
  • 3.) *p ile o adrese veri yazılır

⚠️ Kritik Uyarı

Bu teknikler yalnızca eğitim amaçlıdır. Gerçek sistemlere uygulanması yasadışı olabilir. Asla gerçek ortamlarda test etme.

🌟 Sonraki Yazı: Pointer_3

← Önceki Sonraki →
BlackNullSec
“Windows Belleğiyle Konuşan Kodlar”