- Puan
- 28
- Yaş
- 118
Hexadecimal (Onaltılık Sistem) Nedir?
Bu konuya başlamadan önce şunu bilin:Bilgisayarlar aslında 0 ve 1'lerden (binary) oluşur. Ancak insanlar için uzun binary sayıları okumak ve yazmak çok zordur.
Örneğin:
1111111111111111Bunu okumak kolay değil.
Bu yüzden programcılar ve hackerlar genellikle:
- Binary (2'lik)
- Decimal (10'luk)
- Hexadecimal (16'lık)
Sayı Sistemleri
Decimal (10'luk)
Günlük hayatta kullandığımız sistemdir.Rakamlar:
0 1 2 3 4 5 6 7 8 910'dan sonra:
Kod:
10
11
12
13
Binary (2'lik)
Bilgisayarın anladığı sistemdir.Sadece:
Kod:
0
1
Örnek:
Kod:
0
1
10
11
100
101
110
111
1000
Hexadecimal (16'lık)
Burada işler değişiyor.16 farklı karakter kullanılır:
0 1 2 3 4 5 6 7 8 9 A B C D E FBuradaki harfler sayı yerine geçer.
Tablo:
| Hex | Decimal |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| A | 10 |
| B | 11 |
| C | 12 |
| D | 13 |
| E | 14 |
| F | 15 |
Neden F'den Sonra Bitiyor?
Çünkü sistem 16 tabanlıdır.Sayalım:
Kod:
0 = 0
1 = 1
2 = 2
3 = 3
4 = 4
5 = 5
6 = 6
7 = 7
8 = 8
9 = 9
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
10Ama dikkat!
Hex'teki:
10Decimal 10 değildir.
Decimal karşılığı:
16olur.
Hex Saymaya Başlayalım
Kod:
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
Hackerlar Neden Sürekli Hex Kullanıyor?
Çünkü binary çok uzundur.Örnek:
11111111Bunun hexadecimal karşılığı:
FFAynı veri.
Ama çok daha kısa.
Bellek Adreslerinde Hex
Birçok programın belleğinde şöyle adresler görürsünüz:0x7FFDA1234567veya
0x401000Buradaki:
0xifadesi:
Bu sayı hexadecimaldir.demektir.
Örnek:
0xFF=
255Hex ve Binary İlişkisi
En önemli kısım burasıdır.1 Hex karakteri = 4 Bit
Tablo:
Kod:
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
1111 = F
Örnek Dönüşüm
Binary:101011114'erli gruplara ayır:
1010 1111Tabloya bak:
Kod:
1010 = A
1111 = F
AFBir Ters Örnek
Hex:3Cİlk karakter:
3 = 0011İkinci karakter:
C = 1100Birleştir:
00111100ASCII ve Hex
Karakterler de hex ile gösterilebilir.Örnek:
41Hex değeri.
ASCII karşılığı:
ABaşka örnekler:
Kod:
42 = B
43 = C
44 = D
Reverse Engineering'de Hex
Bir programı incelemeye başladığınızda sürekli hex görürsünüz:4D 5ABu:
MZanlamına gelir.
Windows EXE dosyalarının başlangıcında bulunur.
Örnek:
FF D8 FFBir JPEG dosyasının başlangıç imzasıdır.
Örnek:
89 50 4E 47ASCII olarak:
PNGanlamına gelir.
PNG dosyalarının başlangıcında bulunur.
Akılda Kalması İçin
Kod:
Binary = Bilgisayarın dili
Decimal = İnsanların dili
Hexadecimal = Hackerların ve programcıların dili
Kod:
1 Hex karakteri = 4 Bit
0-9 normal rakamlar
A=10
B=11
C=12
D=13
E=14
F=15