
Hex Data Analyzer
Live Demo: https://haknkayaa.github.io/HexDataAnalyzer
Screenshot: https://raw.githubusercontent.com/haknkayaa/HexDataAnalyzer/main/images/Capture.PNG
Tarayıcıda çalışan, ham hex verisini byte aralıklarına ayırıp renklerle görselleştiren ve seçilen alanları farklı veri türlerinde yorumlayan hafif bir analiz aracıdır. Kurulum, hesap veya sunucu gerektirmez; bütün işlem kullanıcının tarayıcısında gerçekleşir.
Canlı demo: haknkayaa.github.io/HexDataAnalyzer
.bin, .dat, .hex, .txt, .pcap ve .pcapng açar.[start, end) byte indeksleriyle tanımlar.Örneğin 48 65 6C 6C 6F girdisinde 0–5 aralığını ascii olarak tanımlamak Hello sonucunu üretir.
PCAP/PCAP-NG desteği paket byte'larını çıkarır ve ilk paketi inceleme alanında açar. TCP stream birleştirme ve Wireshark seviyesinde protokol çözümleme yapmaz.
| Grup | Türler |
|---|---|
| Tam sayılar | uint8, uint16, uint32, uint64, int8, int16, int32, int64 |
| Ondalıklı sayılar | IEEE 754 float (32-bit), double (64-bit) |
| Metin ve ham gösterim | char, ascii, hex, bits |
| Ağ ve zaman yardımcıları | mac, ipv4, protocol, udpLength, epochUtc |
| Bileşik alan | custom ile byte/bit tabanlı alt alanlar |
64-bit tam sayılar hassasiyet kaybını önlemek için BigInt tabanlı olarak işlenir. char tek byte, float 4 byte ve double 8 byte alan bekler.
Repo yalnızca genel ve sentetik örnekler içerir:
Güncel katalog presets/index.json dosyasında tutulur. Her public preset bağımsız bir JSON dosyasıdır. Yeni bir preset eklerken:
presets/ altında oluşturun.presets/index.json manifestine ekleyin.Public presetlerde yalnızca genel, sentetik ve paylaşılması güvenli örnekler kullanılmalıdır.
Dosya aç ve drag & drop akışını denemek için presets/examples altında paylaşılması güvenli sentetik dosyalar bulunur:
sample.hex — boşlukla ayrılmış hex metnisample.txt — TXT dosyası içinde hex dumpsample.dat — ham byte olarak okunan DAT örneğisample.bin — ham byte olarak okunan BIN örneğiDışa aktar, mevcut alan düzenini hexscope-fields.json olarak indirir. Dosya; etiket, renk, byte aralığı, veri türü ve varsa alt alanları içerir. Ham hex veri bu dosyaya eklenmez.
İçe aktar, uygulamanın dışa aktardığı nesne biçimini veya doğrudan bir alan dizisini kabul eder:
{ "format": "hexscope-field-definitions", "version": 1, "fields": [ { "label": "Mesaj kodu", "color": "#60a5fa", "startIndex": 0, "endIndex": 2, "dataType": "uint16", "children": [] } ] }
Alan tanımları JSON yanında güvenli YAML alt kümesiyle de taşınabilir. Schema paylaşım bağlantısı yalnızca alan şemasını URL hash'ine gömer; incelenen binary veri bağlantıya eklenmez.
Proje derleme adımı veya paket yöneticisi gerektirmeyen statik bir web uygulamasıdır.
En kolay yöntem, repo klasöründe küçük bir HTTP sunucusu başlatmaktır:
python3 -m http.server 8000
Ardından http://localhost:8000 adresini açın. Tarayıcı güvenlik modeli ve JSON preset yükleme davranışı nedeniyle index.html dosyasını file:// ile doğrudan açmak desteklenmez.
Uygulama tüm kendi kaynaklarında göreli yollar kullandığı için proje sitesi olarak /HexDataAnalyzer/ alt yolunda çalışır. Yayınlamak için GitHub deposunda Settings → Pages bölümünden uygun dalı ve kök klasörü seçin. index.html, controller.js, style.css, presets/ ve images/ dizinlerinin yayınlanan dalda bulunduğundan emin olun.
Canlı sürümün adresi:
https://haknkayaa.github.io/HexDataAnalyzer/
.bin, .hex ve .txt dosyaları yalnızca tarayıcı belleğinde okunur; GitHub Pages'e veya başka bir sunucuya yüklenmez.git status ve repo içeriği kontrol edilmelidir.Mevcut uygulama dosya/girdi dönüşümü, endianness, byte/bit alanları, JSON/YAML schema, URL paylaşımı, arama, checksum, frame splitting ve binary diff için çalışan bir temel sunar. UTF-8, tam enum/flag editörü, büyük dosya sanallaştırması, gelişmiş koşullu schema arayüzü, C struct içe aktarma ve VS Code eklentisi sonraki hedeflerdir.
index.html Arayüz ve erişilebilir HTML yapısı controller.js Ayrıştırma, dönüşüm ve etkileşim mantığı input-tools.js Dosya, PCAP, girdi biçimi ve frame ayırma araçları schema-tools.js JSON/YAML schema, URL paylaşımı ve çıktı araçları binary-tools.js CRC/checksum, arama, diff ve büyük dosya yardımcıları style.css Responsive görünüm presets/ GitHub Pages üzerinden yüklenen public presetler docs/ Bilinen sorunlar ve v2 planları
Hata bildirirken örnek girdiyi mümkünse sentetikleştirin ve beklenen/gerçek sonucu açıkça yazın. Yeni bir veri türü veya preset eklerken sınır durumlarını, gerekli byte uzunluğunu ve public paylaşım açısından güvenli olduğunu da kontrol edin.
İlk yorumu sen yaz.