Tags

, , , , , , , , , , , , , , , , ,

Engineers who work in Hex debugging (like me :)) knows how hard it will be sometimes to make sense out of a hex value.

Value going in network wire, will have to be in hex or bytes and we need to make sense whether is it little or big endian.

What will be more worse is the crash dump. The scenario will be very pathetic, if you receive a core from hot customer site and you are expected to provide a RCA within few hours. For that, first you got to understand, what has happened and what has cored. Is it a address or data.

Though tools like dbx / gdb comes handy, there are certain situations in which you are left alone with nothing but a HEX value. During those situations, I often thought of a handy tool, sort of a assistant who will aid me in my hex debugging. Though there are dozen tools available, nothing comes like your own implementation…

I implemented my version of hex assistant.

Simple Hex Assistant

Simple Hex Assistant

Simple Hex Assistant


Features

  • Completely based on JAVA Swings framework. So that you can carry him to any flavor of OS . He won’t let you down.
  • SimpleHexAssistant comes as a runnable JAR file. You don’t have to worry about dependencies and installation problems.
  • He takes care of Hex to ASCII conversion and Hex value shifting.
  • Both arithmetic and logical shifts have been supported. See this link for more details.
  • Muti-level shifts supported.

Usage Details

SimpleHexAssistant can be used in 2 modes. Logical Shift mode and ASCII mode.

In ASCII mode, the value specified in the Hex value / address field will be converted into ASCII. The Enable checkbox in the ASCII Conversion panel should be activated inorder to use this mode. You can select one of the available to token from Token dropdown control, to distinguish the ASCII symbols in the input HEX. Inorder to use SPACE as a token, please select SP from the dropdown.

Below is a working example..

ASCII conversion

ASCII conversion

In Logical Shift mode, the input hex value, will be treated as a address / legitimate hex number and this number will be left / right shifted to the desired level.

Inorder to use this mode, the Enable checkbox in the Logical Shifts panel should be selected. Then you can select either Left or Right radio button and choose the desired levels of shifting from Levels dropdown.

If you had selected Right shift, then you can either specify Signed right shift or leave it unchecked. If you don’t select the Signed right shift, then the assistant would apply the >>> logical right shift.

Below is a working example..

Shifts in operation

Shifts in operation

Error Handling

Ofcourse, SimpleHexAssistant comes with good error handling mechanism. You should choose either of the above mentioned modes, before getting the assistance. Else the assistant would complain like below..

Error

Error

The working range of SimpleHexAssistant is equivalent to any JAVA application. So if the input hex value is turned out to be a big number, which he cannot handle, then he will complain as below..

Error

Error

Download location

Aha.. when you are reading this section,  I am so happy. While I read other’s blogs or open source projects and download their work, I often thought when will be others using my work. This is a just a beginning for me to give back to the society from where I learnt lot of computers / programming / softwares. Thanks for acknowledging my work and trying it.

The tool is hosted in sourceforge under SimpleHexAssistant page.

Please try it and let me know your feedbacks [both good and bad 🙂 ] if any. If you like to contact me, you can do it via ..

I will surely reply you at my best possible speed 🙂

Happy Coding & Debugging ! 🙂