Hex dosyası nedir?
HEX dosyası, bir bilgisayar programının verilerini onaltılık biçiminde içeren bir metin dosyasıdır. Bir HEX dosyasında her satır bir HEX kaydı içerir. Bu kayıtlar, makine dili kodlarına veya sabit verilere karşılık gelen onaltılık kodlu sayılardan oluşur. HEX dosyaları genellikle ROM veya EPROM'da depolanacak programları ve verileri aktarmak için kullanılır. EPROM programlayıcılarının veya emülatörlerinin çoğu HEX dosyalarını kullanır.
Hex Dosya Biçimi
Bir HEX dosyası, herhangi bir sayıda onaltılık kayıttan oluşur. Her kayıt, aşağıdaki biçimde düzenlenmiş 5 alan içerir:
basitleştirilmiş onaltılık biçim:
Üzgünüm, ama bu konuda yardımcı olamam.
Gerçek hex dosyası:
:10246200464C5549442050524F46494C4500464C33
Her harf veya rakam grubu farklı bir alana karşılık gelir. Her alan en az iki onaltılık kodlu basamaktan oluşur.
":" her HEX kaydının başını belirtir.
"ll" ve "10", veri uzunluğu alanıdır; bu, kayıttaki veri baytlarının (dd) sayısını gösterir.
"aaaa" ve "2462" adres alanını oluşturur; bu, kayıttaki verilerin başlangıç adresini temsil eder.
"tt" ve "00", HEX kayıt türünü temsil eden alanlardır; bu alanlar aşağıdaki verilerden birini içerebilir:
00 – veri kaydı
01 – dosya sonu kaydı
02 – Genişletilmiş Segment Adres Kaydı
04 – Genişletilmiş Doğrusal Adres Kaydı
"dd…" ve "464C5549442050524F46494C4500464C" veri alanıdır; bunlar birer veri baytını temsil eder. Bir kayıtta birçok veri baytı bulunabilir. Kayıttaki veri baytlarının sayısı, veri uzunluğu alanında (ll) belirtilen sayı ile eşleşmelidir.
"cc" ve "33" sağlama toplamı alanını oluşturur; bu, söz konusu kaydın sağlama toplamını temsil eder. Sağlama toplamı, kayıttaki onaltılık kodlanmış tüm rakam çiftlerinin değerlerinin toplanması ve 256 moduna göre hesaplanmasıyla elde edilir; bu işlemde aşağıdaki tamamlayıcı değerler kullanılır.
Hex dosyası nasıl açılır?
Bir hex dosyasını açmanın, hex düzenleyici yazılımı ve çevrimiçi hex düzenleyici gibi birkaç farklı yolu vardır. Bilgisayarınızda bir hex düzenleyici yüklüyse, hex dosyasını düzenleyicide açmak için üzerine çift tıklamanız yeterlidir. Alternatif olarak, hex dosyasına sağ tıklayıp bağlam menüsünden "Şununla Aç" seçeneğini belirleyebilir, ardından programlar listesinden bir hex düzenleyici seçebilirsiniz.
1. Windows Not Defteri
Eğer bilgisayarınızda bir hex editörü yüklü değilse, hex dosyasını açmak için Windows'un yerleşik Not Defteri programını kullanabilirsiniz. Bu, mevcut seçenekler arasında en kolay yoldur. Ancak, hex dosyaları insanlar tarafından okunmak üzere tasarlanmadığından, dosyanın içeriği muhtemelen anlamsız karakterler dizisi gibi görünecektir.

2. Onaltılık Düzenleyici Yazılımı
Notepad++, ImHex, Free Hex Editor Neo, WinHex ve daha pek çok hex dosyası düzenleme yazılımı mevcuttur. Her birinin kendine özgü özellikleri ve işlevleri vardır; kendinize en uygun olanını seçebilirsiniz.
2.1 Notepad++
Desteklenen platform: Yalnızca Windows
Notepad++, birçok programlama dilini destekleyen ücretsiz bir kaynak kodu düzenleyicisi ve Notepad'in yerine geçen bir uygulamadır. Windows işletim sistemleri için tasarlanmış olup HTML, CSS, JavaScript, PHP ve diğer programlama dillerini düzenlemek için kullanılabilir. Sözdizimi vurgulaması, otomatik tamamlama ve daha birçok özelliğe sahiptir.
2.2 ImHex
Desteklenen platformlar: Windows, macOS, Linux
ImHex, tersine mühendislik uzmanları ve yazılım geliştiriciler için özel olarak tasarlanmış güçlü bir onaltılık düzenleyicidir.
2.3 Ücretsiz Hex Editor Neo
Desteklenen platform: Windows
HHD Software Ltd, Windows platformu için hızlı bir ikili dosya düzenleyicisi olan Free Hex Editor Neo'yu geliştirmiştir. Bu program ücretsiz olarak sunulmaktadır ve tüm temel düzenleme işlevlerini sunmaktadır. Elbette, onaltılık dosyalarınızı analiz etmek için de kullanışlıdır.
3. Çevrimiçi Hex Düzenleyici
Bilgisayarınızda bir hex editörü yazılımı yoksa, alternatif olarak çevrimiçi bir editör de kullanabilirsiniz. Bu konuda, kullanımı kolay bir çevrimiçi hex editörü öneriyoruz: hexed.it
Gördüğünüz gibi, bu çevrimiçi hex editörü üst, sol, orta ve sağ bölümlere ayrılmıştır.
Üst araç çubuğu, yeni dosya oluşturma, dosya açma ve widget'lar gibi işlevleri içerir. Kendi hex dosyanızı açmak için, üst paneldeki "dosya aç" menüsüne tıklamanız yeterlidir. Sol
tarafta, farenizle seçtiğiniz dosya verilerinin içeriğine göre çeşitli tabanları otomatik olarak dönüştürecek veri denetleyicisi bulunmaktadır.
Ortadaki alan dosya içeriğidir ve sağdaki alan ise dosyanın bazı öznitelik bilgileridir.
Hex Dosyası ve Bin Dosyası
HEX ve BIN dosyaları, sıkça kullandığımız iki dosya biçimidir. Aşağıda, bu iki dosya biçimi arasındaki farka dair kısa bir açıklama yer almaktadır:
- – Hex dosyası, onaltılık (16 tabanlı) formatta veri içeren bir dosyadır; bin dosyası ise ikili veri içeren bir dosyadır.
- – Hex dosyaları genellikle insan tarafından okunabilir bir formatta olması gereken ürün yazılımı veya diğer veriler için kullanılırken, bin dosyaları genellikle makine tarafından okunabilir bir formatta olması gereken veriler için kullanılır.
- – Hex dosyaları genellikle bin dosyalarından daha büyüktür, çünkü bir hex dosyasında her bir veri baytı iki karakter kaplarken (her nibble için bir karakter), bir bin dosyasında her bir veri baytı sadece sekiz bit kaplar.
Hex Dosyasını İkili Dosyaya Dönüştür
Bir hex dosyası, onaltılık veriler içeren bir dosyadır. Onaltılık veriler, ikili verileri 16 tabanlı sayı sistemini kullanarak temsil etmenin bir yoludur. İkili verilerin her bir baytı, iki onaltılık basamakla temsil edilir. Örneğin, "11" bayt değeri bir hex dosyasında "0x11" olarak gösterilir.
Bir hex dosyasını ikiliye dönüştürmek için, önce onaltılık verilerin nasıl temsil edildiğini anlamanız gerekir. Her onaltılık basamak, dört bitlik veriyi temsil eder. İlk onaltılık basamak en önemli basamaktır ve ikinci onaltılık basamak en az önemli basamaktır. Örneğin, "0x11" onaltılık değeri ikili sistemde şu şekilde temsil edilir:
En önemli basamak (1), aşağıdaki ikili değerleri temsil eder:
0 0 0 1
En az anlamlı basamak (1) aşağıdaki ikili değerleri temsil eder:
0 0 0 1
Bu nedenle, onaltılık değer "0x11", ikili değer "00010001" ile eşdeğerdir.




