Hex - Metin Dönüştürme
Onaltılık bayt değerlerini yeniden okunabilir karakterlere çevir.
Herhangi bir dosyayı bir hex editöründe açtığında ilk satır genellikle anlamsız görünür; örneğin 89 50 4E 47 dizisi gibi. Oysa bu rastgele bir veri değildir. Bu dört bayt bir imza niteliğindedir ve onaltılık kodları metin olarak okumayı bildiğinde, hiçbir menüyü açmadan dosyanın türünü doğrudan anlayabilirsin.
Hex - metin dönüşümünde bayt ve karakter mantığı
Onaltılık formatta saklanan metin, iki basamaklı gruplar halinde yazılmış bir bayt dizisidir. Her çift, bir baytın alabileceği 00-FF aralığını kapsar. Örneğin 41 değerini dönüştürdüğünde onluk tabanda 65 sayısını, yani ASCII tablosundaki A harfini elde edersin. 6C değerini dönüştürdüğünde ise sonuç 108 olur, bu da l harfine karşılık gelir.
Bu ikili çiftleri yan yana getirdiğinde kelimeler oluşur: 48 65 6C 6C 6F dizisi H, e, l, l, o harflerine, yani ‘Hello’ kelimesine dönüşür. Yapılan işlem, her bir bayt çiftinin karşılığı olan karakteri getiren net bir eşleştirmeden ibarettir.
Hex to text aracıyla dönüştürme adımları
- Dönüştürmek istediğin onaltılık bayt dizisini giriş alanına yapıştır.
- İşlemi başlatmak için dönüştür butonuna tıkla.
- Güvenlik doğrulamasını tamamla ve oluşturulan okunabilir metin çıktısını kopyala.
Hex to text ile dosya imzalarını tanıma
Çoğu dosya biçimi, sihirli sayı (magic number) adı verilen sabit bir bayt dizisiyle başlar. Bu dizi, yazılımların dosya içeriğini işlemeden önce biçimi tanıması için kullanılır. Örneğin bir PNG görseli her zaman 89 50 4E 47 baytlarıyla başlar. Metne çevrildiğinde 50 4E 47 kısmı doğrudan PNG sözcüğünü verir.
Bir PDF belgesi 25 50 44 46 dizisiyle açılır ve bu baytlar metin olarak %PDF şeklinde okunur. Bir ZIP arşivi ise 50 4B 03 04 baytlarıyla başlar; buradaki 50 4B çifti, formatı oluşturan Phil Katz anısına PK harflerine karşılık gelir.
Hex kodlarında sık karşılaşılan dosya imzaları
| Format | İlk hex baytları | Metin karşılığı |
|---|---|---|
| PNG image | 89 50 4E 47 | •PNG |
| PDF document | 25 50 44 46 | |
| ZIP archive | 50 4B 03 04 | PK.. |
| GIF image | 47 49 46 38 | GIF8 |
| JPEG image | FF D8 FF | not printable text |
Hex formatının dökümlerde tercih edilme nedenleri
- Bir bayt 0 ile 255 arasında değişir ve iki hex basamağı bu aralığı boşluk bırakmadan eksiksiz kapsar.
- Her bayt aynı sütun genişliğinde yer alır, bu da dökümlerin binlerce satır boyunca düzenli kalmasını sağlar.
- Hex, dört bitlik gruplar halinde ikili düzene uyum sağlar; böylece bir bayt her zaman tam iki basamaktan oluşur.
- Hex editörleri ve hata ayıklayıcılar bu yapıyı standart kabul ettiğinden tüm analiz araçları bu biçimi bekler.
Hex to text dönüştürücü hakkında sorular
Dönüştürme sonucunda neden bazen anlamsız karakterler çıkar?
Her bayt değeri yazdırılabilir bir karaktere denk gelmez. Standart harf ve noktalama aralığının dışındaki değerler veya UTF-8 gibi çok baytlı yapılara ait parçalar kontrol kodları ya da simgeler olarak görünür.
Dosyalardaki sihirli sayı (magic number) ne işe yarar?
Dosyanın en başında bulunan ve biçimini belirten sabit bayt dizisidir. İşletim sistemleri dosya uzantısına güvenmek yerine bu baytları kontrol eder; bu yüzden bir PNG dosyasının uzantısını değiştirmek içeriğini farklılaştırmaz.
Bütün metin dosyaları belirgin bir imza ile mi başlar?
Hayır. Düz metin dosyalarında zorunlu bir başlık bulunmaz. Bu nedenle dönüştürücü, herhangi bir biçim ön eki olmadan doğrudan metnin kendisini üretir.
Dönüştürücü boşluk ve noktalama işaretlerini destekler mi?
Evet. Boşluklar, rakamlar ve noktalama işaretleri de dahil olmak üzere yazdırılabilir her ASCII karakterinin kendine ait bir bayt değeri vardır ve harflerle aynı şekilde çevrilir.
Bu işlem Base64 kod çözümleme ile aynı mıdır?
Hayır, ikisi tamamen farklı kodlamalardır. Hex her baytı 0-9 ve A-F arasındaki iki karakterle ifade eder; Base64 ise üç baytlık grupları 64 sembollük bir kümeden seçilen dört karakterle gösterir.