XVI32 to darmowy program pozwalający na wygodne otwieranie, edycję oraz inspekcję dowolnego pliku w trybie szesnastkowym, działający (zdaniem autora) na platformach Windows 9x/NT/2000/XP/Vista/7, chociaż u mnie i na Windows 10 zadziałał. Tutaj w skrócie pokażę jego możliwości, gdyż jest to jeden z moich ulubionych programów i uważam, że może być przydatny dla każdego kto zajmuje się mikrokontrolerami, czy tam formatami plików, czy też np. pakietami bądź zrzutami z pamięci Flash/EEPROM.
XVI32 to freeware, można go pobrać tutaj:
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm
A dokładniej tu:
http://www.handshake.de/user/chmaas/delphi/download/xvi32.zip
Ostatnia wersja 2.55 zajmuje 558 KB w pliku ZIP.
Po wypakowaniu paczki wita nas skromna ilość plików, niektóre datowane jeszcze na 1999:
Nie ma żadnego procesu instalacji. To jest wersja portable.
Uruchamiamy xvi32 i oto widzimy główny widok edytora:
Prawa kolumna to dane wyświetlone jako znaki ASCII. Lewa malutka kolumna to offset. Środkowa kolumna to dane wyświetlone jako hex.
W File mamy wszystko standardowo, jest nawet historia ostatnio używanych plików:
Jakby co, rozmiar tej historii można zwiększyć w Tools->Options:
W Edit oprócz typowych funkcji mamy też możliwość zaznaczenie bloku - przyda się to gdy coś głębiej analizujemy:
W Search mamy standardowe wyszukiwanie, Znajdź następny w górę/dół oraz zamianę:
W Address, oprócz klasycznego GoTo, mamy też możliwość lokalnych skoków o dany offset oraz zapamiętanie bieżącego adresu:
W bookmarks można utworzyć zakładki na dany offset, które też można zapisać do pliku:
W Tools jest Data Inspector - jedno z najważniejszych narzędzi.
Dalej jest jeszcze zakładka z XVI32 Script, to jest język skryptowy tego edytora pozwalający utworzyć proste w nim programy, ale to na razie pominę. Skupmy się na inspektorze danych:
Data Inspector, po ustawieniu kursora na danym adresie, przedstawia interpretację zaczynających się tam danych w różnych formatach, m. in. w formatach liczb całkowitych 1, 2 i 4 bajtowych, jak również w formacie IEEE float, który binarnie całkowicie się różni od integera. Sam kod binarny danego bajtu też jest pokazywany.
XVI32 może pracować zarówno w trybach Big i Little Endian, tryby te określają kolejność interpretowania bajtów. Jest to do zmiany w Tools->Options, opcje Inspektora:
Można tam włączyć też pokazywanie innych typów - np. typu double, liczby zmiennoprzecinkowej podwójnej precyzji.
Skoro DataInspector pozwala nam podejrzeć zawartość bajtów na różny sposób, to jak można ją wpisać? Robi się to poprzez Tools->Encode number:
Wszystkie potrzebne mi typy są tu dostępne - łącznie z wyborem trybu overwrite (nadpisanie) oraz insert (dopisanie i przesunięcie dalej reszty pliku).
Dla równowagi, obok Encode Number mamy też Decode Number, czyli taki bardziej ubogi Inspector:
Można stamtąd kopiować:
51 as shortint: 81
51 88 as word: 34897
51 88 as integer: -30639
51 88 42 C9 as longint: -918386607
51 88 42 C9 as 32 bit IEEE single: -796805,0625
51 88 42 C9 A0 67 B7 7C as 64 bit IEEE double: 5,83902969912408E292
Oczywiście na niższym poziomie też da się edytować. Można zapalać wygodnie poszczególne bity. Opcja Tools->Bit Manipulation:
Oprócz tego mamy np. możliwość podejrzenia CRC danych:
Jak również wiele innych, pobocznych i mniej popularnych opcji, takich jak data shredder, nadpisujący dane zerami:
W Edit jest dostępna jeszcze konwersja znaków, również przez tabelkę:
To chyba wszystko, ale jeszcze z ciekawości, czy XVI32 otworzy plik 1GB?
Wygląda na to, że tak:
W procesach zajmuje ponad 1GB pamięci RAM, ale działa płynnie, czyli nawet na tak dużym pliku można w xvi32 operować.
Podsumowanie
Program ten uważam niemalże za część mojego niezbędnika, tak jak np. niezbędny jest "lepszy notepad" (czyli Notepad++ bądź Notepad2), tak samo niezbędny dla mnie jest XVI32. Bardzo pomaga we wszelkich pracach z mikrokontrolerami czy tam ze zrzutami pamięci, bądź z inspekcją/odkodowywaniem nieznanych formatów danych (np. zrzutów UART). Znam do tego bardziej zaawansowane programy, ale nie należą już one raczej do tej kategorii wagowej co XVI32.
Każdemu polecam pobrać XVI32 i chociażby z ciekawości podejrzeć sobie jak zbudowane są różne formaty plików (np. dokumenty rtf czy tam doc/docx), czy też np. zrzuty pamięci.
Mam nadzieję, że komuś pomogłem, a jeśli znacie jakieś ciekawe alternatywy to dajcie znać - może i sam jakoś z tego tematu skorzystam.
Załączam kopię zapasową paczki freeware xvi32:
Fajne? Ranking DIY Pomogłem? Kup mi kawę.