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

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

6 Secrets To A Successful Atlassian Migration At Scale

6 Secrets To A Successful Atlassian Migration At Scale

With large scale migrations, large user bases, multiple Atlassian tools, plenty of apps, and lots of data, moving to Atlassian Cloud may feel like a steep mountain to climb. But, it doesn't have to be. In fact, we've already helped many customers make the move. Plus,...

Related Resources

Data Engineering Supports Digital Transformation

Data Engineering Supports Digital Transformation

Data engineering supports digital transformation. Fact. But, how do companies move away from more paper processes and towards digital transformation? It’s not easy. And, the larger the organization, the more difficult it is. Companies can take solace in knowing there...

What Is Atlassian?

What Is Atlassian?

Distributed workforces are commonplace in today’s manufacturing and IT worlds. More and more colleagues work remotely. Additionally, we use more data to drive decisions as the market competition increases. Alongside this, our businesses are expected to meet...

What Is Azure Cloud Computing?

What Is Azure Cloud Computing?

Considering moving to the cloud? Find yourself wondering “What is Azure?” or “How can Azure help SMBs grow?”. Well, the search is over. In this blog, we’re making it as easy as possible for you to discover everything you need to know about Azure. Let’s get you on the...