BlackNullSec Path #: Pointer 1 Nedir?
🚀 Amaç:Bir pointer, bellekteki bir adresi tutan değişkendir. Yani başka bir değişkenin adresini saklar.
🔎 Neden Pointer Kullanırız?
Bellek Yönetimi: Dinamik hafıza ayırmak için (malloc, calloc, free).Fonksiyonlara Veri Aktarımı: Referansla parametre göndererek gerçek değişkenleri değiştirebiliriz.Verimli Kod: Kopyalama yerine adresle işlem yapmak daha hızlıdır.Düşük Seviye Erişim: Donanım, işletim sistemi ya da özel bellek alanlarına erişim sağlamak için.
🧪 Pointer ile Değer Değiştirme
&-> degişkenin adresini alır
*-> pointer'ıdereference ederek işaret ettigi degere eşit
NULL-> Hiçbir adresi gostermeyen ozel bir pointer degeri
Örnek:
int x=42;
int *p=&x; // P,X'in adresini tutar
printf(%d\n,*p); Çıktı 42 (p'nin işaret ettigi)
NOT= burada x'e 42 degeri verildi sonra(&x) ile adresi alındı sonra(*p içine adresteki veriyi yaz)
NOT:*p=adresi yazmaz degeri yazar yani "x=42"'nin adresini alır '
(&x) ise x'in adresini alır "42" in
1. Malwarede Pointer
LPVOID remoteMem=VirtualAlocEx(hProcess,NULL,size,mem_commmıt,PAGE_READWRITE);
remote->başka bir prosesin bellegindeayırdıgımız adres
shellcode->Bizim pointer'ımız (unsigned char*) bellekteki shellcode verisini gosteriyor
NOT= shellcode-> içerigi
remoteMem-> hedef adres
pointer mantıgı-> neyi nereye yazagacımızı belirtir

Cıktı:



⚠️ Kritik Uyarı
LPVOID remoteMem=VirtualAlocEx(hProcess,NULL,size,mem_commmıt,PAGE_READWRITE);
remote->başka bir prosesin bellegindeayırdıgımız adres
shellcode->Bizim pointer'ımız (unsigned char*) bellekteki shellcode verisini gosteriyor
NOT= shellcode-> içerigi
remoteMem-> hedef adres
pointer mantıgı-> neyi nereye yazagacımızı belirtir
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_2
Sonraki→
BlackNullSec
“Windows Belleğiyle Konuşan Kodlar”
“Windows Belleğiyle Konuşan Kodlar”
hacker