Hex Kodlayıcı/Çözücü
Onaltılık (hex) kodlama, ikili verileri 16 sembol (0-9 ve A-F) kullanarak temsil eder. Her bayt iki hex karakteri olur. Bu araç hex dizelerini çözerek orijinal içeriği ortaya çıkarır, sihirli baytlar kullanarak dosya türlerini tanımlar ve ikili inceleme için hex editör tarzı bir görüntüleyici sağlar.
Yaygin Kullanim Alanlari
- API'lerden ve günlüklerden hex kodlu verileri çözme
- İkili dosya başlıklarını ve sihirli baytları inceleme
- Ağ paket yüklerini analiz etme
- Kriptografik değerleri hata ayıklama (hash'ler, anahtarlar, IV'ler)
- Veritabanlarından veya dosyalardan ham ikili verileri görüntüleme
- Hata ayıklama araçlarından hex dökümlerini dönüştürme
Ozellikler
- Birden fazla formatta hex dizelerini çözme (düz, boşluklu, 0x önekli, iki nokta üst üste ayrılmış, C-dizisi)
- Ofset, hex baytları ve ASCII gösterimi ile hex görüntüleyici
- Çözülen içerik türünü otomatik algılama (JSON, XML, metin vb.)
- Zincir algılama — "X olarak çöz" butonu ile çözülen içeriği otomatik algılama
- İkili veriler için sihirli baytlar kullanarak dosya türü tanımlama
- Büyük dosyalar için tembel yükleme ile sanal kaydırma
- Hex formatları arasında dönüştürme (düz, boşluklu, 0x, iki nokta üst üste, C-dizisi)
- Metni çeşitli formatlarda hex'e kodlama
Ornekler
Hex Olarak JSON
Deneyin →Bir JSON nesnesine çözülen bir hex dizesi.
7b226e616d65223a22746573742e6a736f6e227dBoşluklu Hex
Deneyin →Boşlukla ayrılmış hex baytları (hata ayıklama çıktısında yaygın).
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21PDF Başlığı
Deneyin →Bir PDF dosya imzasını temsil eden hex baytları.
25504446 2d312e34 0a312030 206f626aC Tarzı Dizi
Deneyin →C dizisi olarak biçimlendirilmiş hex baytları.
0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x21MAC Adresi Tarzı
Deneyin →MAC adresi gibi iki nokta üst üste ile ayrılmış hex baytları.
de:ad:be:ef:ca:feIpuclari
- Hex kodlama, verinin boyutunu iki katına çıkarır (her bayt 2 karaktere dönüşür).
- Yaygın sihirli baytlar: PDF, 25504446 (%PDF) ile başlar, ZIP, 504B0304 ile başlar.
- Görüntü verileri (PNG, JPEG vb.) otomatik algılanır ve Görüntü Analizörü aracını kullanır.
- 0x öneki, çoğu programlama dilinde onaltılık sayıyı belirtir.
- MAC adresleri ve UUID'ler iki nokta üst üste veya tire ayırıcıları kullanır.
- Hex büyük/küçük harfe duyarsızdır: 0xFF, 0xff'ye eşittir.
Anlama Hex Kodlayıcı/Çözücü
Onaltılık (hex) kodlama, ikili verileri 16 tabanı gösterimi kullanarak temsil eder; her bayt 0-9 ve A-F kümesinden tam olarak iki karaktere eşlenir. Bu doğrudan bayt-metin eşlemesi, hex'i hata ayıklama, kriptografi, ağ iletişimi ve düşük seviyeli programlamada ikili veri için standart temsil haline getirir.
6 bitlik gruplarıyla bayt sınırlarını belirsizleştiren Base64'ün aksine, her hex karakter çifti tam olarak bir bayta eşlenir ve bireysel değerleri okumayı kolaylaştırır. Bellek adresleri, yazmaç içerikleri, ağ paket dökümleri, dosya başlıkları ve kriptografik değerler geleneksel olarak hex'te görüntülenir.
Hex dizeleri birçok formatta görünür. Düz hex (48656c6c6f) API'lerde yaygındır. Boşlukla ayrılmış hex (48 65 6c 6c 6f) paket yakalamalarda görülür. İki nokta üst üste ile ayrılmış hex (48:65:6c:6c:6f) MAC adresleri ve sertifika parmak izleri için kullanılır. 0x öneki (0x48, 0x65) C, JavaScript, Python ve çoğu dilde standart hex sabittir. C tarzı diziler ({0x48, 0x65}) kaynak kodunda ikili veriyi gömler.
Dosya türü tanımlama, sihirli baytlara — dosyanın başındaki formatını tanımlayan belirli hex dizilerine — dayanır. PDF'ler 25504446 (%PDF) ile, PNG'ler 89504E47 ile, ZIP'ler 504B0304 ile ve ELF çalıştırılabilir dosyaları 7F454C46 ile başlar. Bu imzaları tanımak, dosya işleme kodunun hata ayıklaması ve ikili verilerin analizi için gereklidir.
Hex ve Base64 her ikisi de ikili verileri metin olarak kodlar, ancak farklı ödünleşimler yapar. Hex, her baytı 2 karaktere eşleyerek veri boyutunu ikiye katlar (%100 ek yük), Base64 ise her 3 baytı 4 karaktere eşleyerek yalnızca yaklaşık %33 ek yük ekler. Base64, büyük veriler için daha alan verimlidir ve bu nedenle metin formatlarına ikili içerik gömmek için daha iyi bir seçimdir. Hex, bayt seviyesinde inceleme için daha okunabilirdir ve bu da onu bireysel bayt değerlerinin önemli olduğu hata ayıklama, kriptografik değerler ve protokol analizi için standart yapar.
Sihirli baytlar (dosya imzaları olarak da bilinir), dosya uzantısından bağımsız olarak formatını tanımlayan, dosyanın en başındaki belirli bayt dizileridir. PNG dosyaları 89 50 4E 47 ile, JPEG FF D8 FF ile ve ZIP 50 4B 03 04 ile başlar. Unix "file" komutu, dosya türlerini algılamak için sihirli baytlara dayanır ve aynı teknik bu araçta hex verileri içindeki ikili içeriği tanımlamak için kullanılır.
Hex büyük/küçük harfe duyarsızdır çünkü A-F rakamları büyük veya küçük harf olmasına bakılmaksızın 10-15 değerlerini temsil eder — 0xFF ve 0xff her ikisi de ondalık 255'tir. Büyük/küçük harf seçimi tamamen gelenekseldir: büyük harf spesifikasyonlarda ve hash çıktısında, küçük harf ise CSS renkleri ve URL kodlama gibi web geliştirme bağlamlarında yaygındır. 0x öneki, C, C++, Java, JavaScript, Python, Go ve Rust dahil çoğu programlama dilinde bir onaltılık sayı sabitini belirtir. Önek olmadan, "10" gibi bir değer ondalık ve hex arasında belirsiz olur; 0x10 yazmak bunu açıkça onaltılık (ondalık 16) yapar.