Image

Malware giriş.

Malware

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]
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))
Compiler otomatik çarpar.

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	0x8
Burada:
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”