1-888-310-4540 (main) / 1-888-707-6150 (support) info@spkaa.com
Select Page

3 Ways That HxD Can Promote Software Engineering Best Practices

Published by SPK Blog Post
on August 21, 2014

It can often be the case that better software engineering practices may be promoted by the use of good software engineering tools. That is, tools that assist the engineer to better understand the current state of the work product. As we know, the final work product is normally some kind of binary, since this is what will be executed on the target computing environment, be it Windows, Linux, or some kind of embedded environment.

The thing is, binaries are a bit more difficult to examine and work with, because by definition they are machine readable, and not human readable. But why would we want to read a binary file? A general answer would be that we want to verify that the contents of a binary are what we expect it to be.

But before we continue, let’s take a look at a tool that gives us capabilities to examine computer binary files. The tool is HxD Hexeditor and can be accessed here.

The HxD Hex Editor is a technical but useful tool which can be a great help in software engineering. Here are some functions of the tool that can be helpful:

  • Display
    HxD provides the ability to display the contents of a binary file, along with character representation for printable constants that have been compiled into the binary. If there are version numbers, compile dates and timestamps compiled into the binaries, HxD can display these markers as readable.
  • Compare
    HxD can be used to compare binary files to detect differences between two versions of a file. Have you ever had the experience of having a binary not behave the way you expected? Or maybe another similar or “the same binary” behaves differently? Having a tool such as HxD to do a binary diff between two files can show where and how the binaries differ.
  • Edit/Change
    HxD has the ability to edit/change a binary file. Sometimes it may take a rather long time to recreate a binary.  Whether this turns out to be on the order of 10 hours, or even a half hour, it can slow down the turnaround of software updates and testing.Also, by altering the binary directly, it is possible to test the results of the software fix in question before going through the effort of changing the source file and producing another binary. Of course, if such a binary change is made and found to be satisfactory, it is required to ultimately change the source as well!  If this is not done, the issue the binary patch was intended to solve will reappear in the next compiled version of the binary.

The above uses of HxD only begin to scratch the surface of what the tool can be used for. Visit the website and see in what other ways HxD can assist you in improving your best practices in software engineering.

Next Steps:

Ronald Ross
Software Engineering Specialist
rross@spkaa.com

Latest White Papers

Three Trends Are Transforming The Service Desk

Three Trends Are Transforming The Service Desk

Your IT service desk is about to change. Find out what's shaping the future. Three factors — enterprise service management (ESM), collaboration, and intelligent service management — are driving the transformation of the service desk. To better meet customers’ needs...

Related Resources

Extending CloudBees SDA Analytics

Extending CloudBees SDA Analytics

CloudBees SDA Analytics has more power than you think One of the main features of CloudBees SDA is CloudBees Analytics, powered by ElasticSearch. It’s a powerful tool for displaying continuous integration data and there are loads of useful metrics available from...

Is The IT Department Really “Dead?”

Is The IT Department Really “Dead?”

“It’s Time to Get Rid of the IT Department.”  That was the title of an opinion piece recently published in the Wall Street Journal.  Provocative?  Sure.  My answer to this is not “yes,” but many of the author’s points are valid.  The Same Old IT Department? No, the IT...

How To Add More Disk Space To Your Redhat Server Without Reformatting

How To Add More Disk Space To Your Redhat Server Without Reformatting

(Originally published in 2012, updated January 2022.) One of the common tasks for any system administrator is managing disk space on a server. A common question is how to increase disk space on a linux system. I won't go into a boring lecture on why managing disk...