Wednesday 3 August 2011

Introduction

I get quite a few emails asking about Hex Edit, such as how or why I added a specific feature.  I hope this blog will help somebody.  It is mainly to discuss topics of interest that arise from my development of Hex Edit and now Hex Edit Pro.  That is, the techniques, tools, libraries etc that I use including benefits and problems of their use.


If you don't know about Hex Edit then it started as a free binary file editor in 1998.  Due to its great popularity and demand for requests I released a shareware version in 2001.  See http://www.hexedit.com for more information.  I didn't make it shareware to make gobs of money (sales would not even cover the cost of the hardware and software I use to make it) but as some motivation to continue development and also to gauge how much it is used and liked.  Also at least one user wanted to give me money to continue development but the company they worked for did not allow them to make a donation though they were quite happy to buy 20 copies of Hex Edit.


I have always released a complete earlier version of Hex Edit for free.  Hex Edit 3.0 was released as a free version in 2009 and is identical to the shareware version of Hex Edit 3.0 released in 2005 (apart from a few bug fixes).


One reason I could not release the source code for versions after 2.0 is that it used the commercial BCG library.  (Actually I did supply the source for several BCG users who requested it.)  Happily Microsoft bought the BCG code and added to MFC 9.0 (more on this in a later post) - so I can now make Hex Edit completely open source.


With the release of Hex Edit 4.0 there will be a free open source version (Hex Edit 4.0) and a shareware version (Hex Edit Pro 4.0) with more features.  However, the free version is by no means incomplete having many features not found in many other hex editors.




Anyway back to the point of this blog ...  The blog is not intended as a discussion of how to use Hex Edit unless it is related to the general discussion.  (For example, I plan to discuss the use of bookmarks in Visual Studio and how Hex Edit bookmarks are better is some ways.)  It will probably be more of interest to programmers (particularly C++ programmers) than Hex Edit users but the intersection of these sets is fairly large.


I welcome feedback and specific questions about how or why something is done in Hex Edit.