Group: Super Administrators
Joined: Oct. 2003
Member Rating: 4
||Posted on: Apr. 29 2009,08:09
Announcing a major new release - HexEdit 3.4. It contains new features (eg, navigation points), improvements to existing features (eg, calculator), and many smaller fixes.
The major changes are discussed below but there are also many small changes (too many to list here) that came from using the software over many months and will make your life easier and make HexEdit a joy to use.
One feature I have always found useful in Visual Studio is the Navigate Backward and Navigate Forward buttons. If you are not familiar with this it is a little like undo except instead instead of keeping a stack of changes made in a single file it keep tracks of which locations (file + address) you were looking at or modifying. Navigating backwards will not undo file changes but just take you back to a different place, perhaps in a different file.
For example, when modifying the source for HexEdit in the Visual Studio IDE it is often necessary to make related changes in several places, necessitating jumping back and forth between different source files (or perhaps different places in the same file). It is usually hard enough to understand the changes required let alone keep track of different locations in different files. The Navigate buttons in Visual Studio allow me to quickly and intuitively move backwards and forwards to the places in the source file(s) where I am working.
I also often find I need to go back to something but have no idea in what file to look. Again navigation points are the answer.
However, there are some annoyances with the implementation in Visual Studio. (Microsoft can come up with good ideas but they never seem to try them in practice before implementing them.)
1) The Navigate Backward button has a drop menu of navigation points but they are grouped by file. This makes it completely useless as the chronological order is not preserved and it is a vital clue as to which point you are looking for.
2) If you close a file all the navigation points for that file are discarded. It is common to accidentally or intentionally close a file that you might later need to navigate back to.
Navigation Points in HexEdit are implemented similarly to Visual Studio but avoiding these problems.
First the Navigate Backward and Navigate Forward buttons have their own drop-lists which are kept in strict chronological order. The entries in the Navigate Backward list are ordered so that the latest is at the top and earlier entries are always below later ones. Similarly the Navigate Forward list is ordered so that the most distant "future" one is at the bottom.
Moreover, within each list the navigation points are grouped into sub-menus by file. This allows you to locate a point quickly and avoids having a huge scrolling list.
The other advantage of HexEdit navigation points is that they keep track of points even in files that have been closed. HexEdit will open the file automatically if necessary.
The calculator now displays buttons with "XP look" and also behaves much better in many ways such as when the window is resized. As well as these superficial changes there have also been some important improvements.
But first an explanation about precedence...
One complaint about the calculator in HexEdit has been that it does not support operator precedence (thanks Anthony - for example, if you do an addition followed by a multiplication the addition is performed first even though, conventionally, multiplication has higher precedence. This behavior was by design, for many reasons, not the least of which is that many calculators, including the standard Windows Calculator, behave in this manner. To those people used to the "classic" calculator behavior the use of precedence would be confusing. Moreover, even those familiar with precedence avoid it or have trouble using it for complex calculations.
This is one reason that HexEdit now allows you to enter expressions into the calculator. You now have a choice:
1) For simple calculations just use the binary operator buttons.
2) For complex calculations where precedence is required enter the complete expression (then press Enter of click the = button).
3) Where the order of operations is incorrect or the behavior of operator precedence is uncertain use brackets to force order of operations.
But there's more... You can enter any type of expression into the calculator that is a valid HexEdit expression. If the resultant type of an expression is not an integer (eg real, boolean, string or date) then the value is still displayed but you can't use most of the calculator buttons as they expect to work with an integer.
Further there are drop-down menus that allow you to:
* select from the history of decimal jumps (previous jumps made in the calculator or the decimal jump tool)
* select from the history of hex jumps (previous jumps made in the calculator or the hex jump tool)
* select from a list of already assigned variables (grouped by type)
* select from a list of functions that may be used in expressions (grouped by type)\
* select from a history list of previously entered expressions
Expressions allow you to assign to variables. These variables are created (the type is determined by the type of the expression assigned). You can even have arrays (with any number of dimensions), although these are "sparse" arrays and not that efficient. (By "sparse" I mean that assigning to element 100 only required that memory is allocated for the 100th element, not the other 99 before it.)
Note that variables are retained (in the registry) between runs of HexEdit. These variables can also be assigned and used in the hex/decimal jump tools.
A simple ruler was added in HexEdit 3.2, but this has been scrapped and redone. The new ruler is much more flexible and powerful. (Note that the ruler options are now global whereas in 3.2 the options were remembered for each file that was open.) You can toggle the ruler quickly using the new menu item (View menu) or button (Format Bar).
You can now control the positioning of numbers and ticks within both the hex and decimal rulers (see the Workspace Display Options page of the Options dialog). Whether the hex and/or decimal ruler is displayed depends on how addresses are displayed (both hex and decimal addresses can now be displayed at the same time).
The ruler also now includes "handles" that show the current row size, etc and can be dragged to adjust these settings.
Related to the ruler changes is the ability to show any (or all) of hex addresses, decimal addresses or line numbers in the address area (to the left of the hex area).
The current cursor position and mouse location are highlighted in the ruler and the address area. Again, this is an option -- see the Workspace Display Options page of the Options dialog.
When someone first asked for the Explorer Window I was dubious, but now I have been using it I couldn't live without it. There have been the following improvements:
* new columns which show HexEdit specific fields (comments, category etc that you have entered for the file in the Properties dialog)
* columns can be hidden or shown
* right click any column header for a list of columns that can be toggled
* columns can be re-ordered by dragging
The Options dialog has been improved with a better tree navigation system showing icons for each page for easy reference. There are also more than 20 new options (but due to the new layout and navigation system this does not make using the Options dialog any more confusing). New inter-page jump buttons make it easy to find related options or options that have been moved to a different page from earlier releases of HexEdit.
There are many new options in the following areas:
* history lists
* ruler (see above)
* startup options such as splash screen
* new scroll options
* how K/M/G are interpreted throughout HexEdit when abbreviated integers are required
* new selection length options
* undocked dialogs move out of the way OR don't move
* new address options such as line numbers, addresses start at 1, show both hex/decimal addresses etc
Moderator of Forums and creator of Hex Edit