BlackNullSec Path #: İndex vs Offset?
🚀 Index bir dizideki kaçıncı elemanı ifade eder.
🔎 Yani:“Sıra numarası”
int arr[5] = {10,20,30,40,50};
Memory
Index: 0 1 2 3 4
Value: 10 20 30 40 50
Burada:
arr[0]
ilk eleman.
arr[2]3.eleman
Index Mantığı
Index:
"kaçıncı eleman?" sorusudur.
OFFSET NEDİR?
Offset:
"Başlangıç adresinden ne kadar uzaklıkta olduğunu söyler.
Yani:mesafe mantığıdır.
ÖRNEK:
char buffer[10];
Base address:0x1000 olsun.
Memory
Address Byte 0x1000 ?? 0x1001 ?? 0x1002 ?? 0x1003 ??Burada:0x1003 adresinin offset’i: +3 çünkü başlangıçtan 3 byte ileride.
INDEX vs OFFSET
| Kavram | Anlam | | ------------ | ------------------------ | | Index | Kaçıncı eleman | | Offset | Başlangıçtan uzaklık | | Index birim | Eleman | | Offset birim | Byte | | Index | Logical | | Offset | Physical memory distance |
EN KRİTİK FARK
int arr [3]={10,20,30}
Bellekte
Address Byte 0x1000 10 0x1004 20 0x1008 30
arr[1]Compiler otomatik çarpar.
index=1 AMA Offet offset=1 * sizeof(type) type=int Offset=1 x 4 Offset= 4 byte Real Addres = Base+4 Address=Base+(Index×sizeof(Type))
OFFSET
Offset direkt byte mesafesidir.
Mesela:
+0x20
demek:
32 byte ileri git
demektir.
Tip önemli değildir.
struct İçinde Offset
typedef struct {
int id;
char flag;
int value;
} TEST;
Compiler memory alignment yapar.Mesela:
Alan Offset id 0x0 flag 0x4 value 0x8Burada:
value
alanı:
struct başlangıcından 8 byte uzakta demektir.
İndex vs Offset
Kavram Ne İfade eder Index Kaçıncı eleman Offset Kaç byte ileirde
⚠️ 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ı: Pe Parsing_1
← Önceki Sonraki →
BlackNullSec
“Windows Belleğiyle Konuşan Kodlar”
“Windows Belleğiyle Konuşan Kodlar”
hacker