De wereld van hexadecimale viewers heeft Hevi welkom geheten, een tool dat belooft de analyse van binaire bestanden te revolutioneren door eenvoud, personalisatie en geavanceerde ondersteuning te combineren. Deze viewer, ontworpen als een modern alternatief voor traditionele hulpmiddelen zoals xxd
of hexdump
, biedt een vernieuwde ervaring met handige functies voor ontwikkelaars en systeemanalisten.
Een hexadecimale viewer met een moderne aanpak
Hevi, uitgesproken als “heavy”, is niet zomaar een andere hexadecimale viewer. Naast het mogelijk maken om content in hexadecimale formaat te bekijken, omvat het geavanceerde functies zoals:
- Geïntegreerde parsers: Hevi kan specifieke bestandsstructuren zoals de ELF- of PE-formaten interpreteren en biedt syntaxiskleuring om het begrijpen van binaire inhoud te vergemakkelijken.
- Aanpasbare kleurenpaletten: Gebruikers kunnen de kleuren van de viewer aanpassen, met ondersteuning voor zowel standaard ANSIDe ANSI-karakterset (of ANSI character set) is een verzameling van karakters… kleuren als voor truecolor, wat de visuele ervaring in de terminal verbetert.
- Filters en flexibele instellingen: Maakt aanpassing van de weergave mogelijk via een serie van flags en instellingen die opties omvatten voor het aan-/uitschakelen van ASCII, identieke regels overslaan of schakelen tussen hoofdletters en kleine letters voor hexadecimale waarden.
Hoe Hevi te gebruiken
Het basiscommando om Hevi uit te voeren is eenvoudig:
hevi [flags]
Onder de beschikbare flags zijn:
--color/--no-color
: Reguleert het inschakelen of uitschakelen van kleuren in de output.--ascii/--no-ascii
: Staat toe om ASCII-interpretatie in- of uit te schakelen.--parser
: Specificeert de te gebruiken parser, nuttig voor het analyseren van specifieke formaten zoals ELF of PE.--show-palette
: Toont het actieve kleurenpalet in een tabel.
Daarnaast ondersteunt de viewer omgevingsvariabelen zoals NO_COLOR
, waarmee kleurgebruik globaal uitgeschakeld kan worden, waarbij standaarden zoals no-color.org gerespecteerd worden.
Aangepaste configuratie
Hevi staat volledige personalisatie toe via een configuratiebestand in het .ziggy
-formaat. Dit bestand bevat velden zoals color
, uppercase
of skip_lines
, onder andere. Het biedt ook de mogelijkheid om stijlen te definiëren voor kleurenpaletten, waardoor elk visueel aspect aangepast kan worden aan de voorkeur van de gebruiker.
De locatie van het configuratiebestand varieert per besturingssysteem:
- Linux/MacOS/BSD:
$XDG_CONFIG_HOME/hevi/config.ziggy
of$HOME/.config/hevi/config.ziggy
. - Windows:
%APPDATA%/hevi/config.ziggy
.
Installatie en multiplatform ondersteuning
Hevi is beschikbaar voor meerdere platformen, inclusief Linux, macOS en Windows. Gebruikers kunnen kiezen om het te installeren via pakketbeheerders op Linux, voorgecompileerde binaries te downloaden van de releasepagina of het te compileren vanaf de broncode met zig build
.
Het snelle installatiecommando voor Linux en macOS is:
curl https://raw.githubusercontent.com/Arnau478/hevi/main/install.sh | bash
Voor gebruikers van andere platformen zijn de binaries beschikbaar op de officiële projectpagina op GitHub.
Ontworpen in Zig voor eenvoud
Hevi is ontwikkeld in Zig, een moderne programmeertaal die eenvoud en prestaties prioriteert. Deze benadering zorgt dat de viewer lichtgewicht en efficiënt is, ideaal voor taken van binaire analyse in Unix- en Windows-omgevingen.
Een project in constante ontwikkeling
De roadmap voor Hevi omvat toekomstige verbeteringen zoals ondersteuning voor MacOS- en RHEL-systemen, syntaxiskleuring in logs en compatibiliteit met Windows-events via PowerShell. Daarnaast wordt er gewerkt aan functies zoals op afstand ondersteuning via het SSH-protocol.
Bijdragen welkom
Het Hevi-project staat onder GPL v3-licentie en de ontwikkeling staat open voor bijdragen van de gemeenschap. Geïnteresseerde ontwikkelaars kunnen bijdragen door problemen te rapporteren, de tool te testen of nieuwe functies te implementeren.
Voor meer informatie of om Hevi te downloaden, bezoek het officiële repository op GitHub: Hevi op GitHub.