fbpx
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

Written by SPK Blog Post
Published 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

Costs and Benefits of Moving a .NET Application to the Cloud

Costs and Benefits of Moving a .NET Application to the Cloud

Do you know the full cost and benefits of moving your .NET application to the cloud? In this guide we’ll cover everything you need to know about your .NET cloud migration. Is this guide for you? If you’re faced with outdated legacy systems and the pressures of digital...

Related Resources

What is Observability And How Can It Optimize IT?

What is Observability And How Can It Optimize IT?

Your IT architecture is anything but simple. In fact, it’s more like the complex, yet silent spinal cord of your business functions. But what can you do when something goes wrong? Monitoring tools give you a partial view into business performance (or issues),...

Costs and Benefits of Moving a .NET Application to the Cloud

Costs and Benefits of Moving a .NET Application to the Cloud

Do you know the full cost and benefits of moving your .NET application to the cloud? In this guide we’ll cover everything you need to know about your .NET cloud migration. Is this guide for you? If you’re faced with outdated legacy systems and the pressures of digital...

Codebeamer vs. 12 Symptoms Of Poor Requirements Management

Codebeamer vs. 12 Symptoms Of Poor Requirements Management

Managing requirements can feel like a flawed game of telephone—messages get distorted by the time they reach their destination. This doesn't just waste time and resources, but puts the entire project at risk. Legacy tools often fall short in meeting modern project...