Find file History
Permalink
..
Failed to load latest commit information.
Graphics New Donate button for web site (to replace Buy button for HexEdit Pro) Sep 29, 2016
GridBtnCell_src Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
GridCtrl_src Fix bug where fixed (left) column(s) in grid control may have uninit.… May 13, 2016
GridTreeBtnCell_src Add all source and help files. Aug 25, 2006
HLP Update help include directories for new system. Aug 26, 2006
HTMLHelp Commit updated help project Oct 9, 2016
Install Update installer project for new version Sep 10, 2016
NewCellTypes Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Output/Release Add DLLs required to run HexEdit. Oct 4, 2016
RES Fix FormatBar (toolbar) bitmaps to add the missing "code page" icon. May 8, 2016
RegHelper Minor .fFixes to comments and text of messages. May 16, 2016
TestData Add keystroke macro file (ShaTestVector1GB.hem) that generates a 1GB … Aug 2, 2016
TreeColumn_src Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Videos Wrap up whirlwind tour script Jul 18, 2016
AerialView.cpp Update copyright text and other header info. Jun 23, 2015
AerialView.h Begin clean up of header files Aug 4, 2016
Algorithm.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Algorithm.h Begin clean up of header files Aug 4, 2016
BCGMisc.h Begin clean up of header files Aug 4, 2016
BGAerial.cpp Minor fixes to comments and spacing May 26, 2016
BGCompare.cpp Background compare sometimes runs very slowly because thread priority… Aug 11, 2016
BGPreview.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
BGSearch.cpp Small fix to background search - bytes not found when 2nd nybble edit… Jun 28, 2015
BGstats.cpp Add Crypto++ 5.6.3 source code to the repo under ThirdParty/CryptoPP … Aug 20, 2016
Bin2Src.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Bin2Src.h Begin clean up of header files Aug 4, 2016
Bookmark.cpp Fix open shareable flag to work the same way as the read only flag. May 20, 2016
Bookmark.h Begin clean up of header files Aug 4, 2016
BookmarkDlg.cpp Fix some spelling mistakes in comments Aug 3, 2016
BookmarkDlg.h Begin clean up of header files Aug 4, 2016
BookmarkFind.cpp Update copyright text and other header info. Jun 23, 2015
BookmarkFind.h Begin clean up of header files Aug 4, 2016
Boyer.cpp Update copyright text and other header info. Jun 23, 2015
Boyer.h Begin clean up of header files Aug 4, 2016
CFile64.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
CFile64.h Update copyright text and other header info. Jun 23, 2015
CalcDlg.cpp Fix some spelling mistakes in comments Aug 3, 2016
CalcDlg.h Updated #include path for moved location of external headers. Oct 4, 2016
CalcEdit.cpp When the Window short date format is configured as a 2 digit year (yy… Aug 16, 2016
CalcEdit.h Begin clean up of header files Aug 4, 2016
CalcHist.cpp Fix some spelling mistakes in comments Aug 3, 2016
CalcHist.h Begin clean up of header files Aug 4, 2016
ChildFrm.cpp Update copyright text and other header info. Jun 23, 2015
ChildFrm.h Update copyright text and other header info. Jun 23, 2015
CompareList.cpp Prevent hiding of last Compare List column. Aug 29, 2016
CompareList.h Fixes to Compare List tool window: Add RowAdder clas which makes buil… Aug 6, 2016
CompareView.cpp Fix version in manifest. Other small fixes. May 18, 2016
CompareView.h Allow copy to clipboard and select all commands in the compare view Jul 10, 2015
CompressDlg.cpp Move zlib source files to ThirdParty folder Oct 4, 2016
CompressDlg.h Converting indent back to tabs (some were spaces). Oct 21, 2010
Control.cpp Update copyright text and other header info. Jun 23, 2015
CoordAp.h Update copyright text and other header info. Jun 23, 2015
CopyCSrc.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
CopyCSrc.h Update copyright text and other header info. Jun 23, 2015
Crypto.cpp Update copyright text and other header info. Jun 23, 2015
Crypto.h Update copyright text and other header info. Jun 23, 2015
DFFDData.cpp Replace calls to CAvoidableDialog::Show() with AvoidableTaskDialog(). May 5, 2016
DFFDData.h Update copyright text and other header info. Jun 23, 2015
DFFDEVAL.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
DFFDEVAL.h Update copyright text and other header info. Jun 23, 2015
DFFDFor.cpp Minor fixes May 17, 2016
DFFDFor.h Update copyright text and other header info. Jun 23, 2015
DFFDGlobal.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
DFFDGlobal.h Update copyright text and other header info. Jun 23, 2015
DFFDIf.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
DFFDIf.h Update copyright text and other header info. Jun 23, 2015
DFFDJUMP.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
DFFDJUMP.h Update copyright text and other header info. Jun 23, 2015
DFFDMisc.cpp Update copyright text and other header info. Jun 23, 2015
DFFDMisc.h Update copyright text and other header info. Jun 23, 2015
DFFDStruct.cpp Minor fixes May 17, 2016
DFFDStruct.h Update copyright text and other header info. Jun 23, 2015
DFFDSwitch.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
DFFDSwitch.h Update copyright text and other header info. Jun 23, 2015
DFFDUseStruct.cpp Minor fixes May 17, 2016
DFFDUseStruct.h Converting indent back to tabs (some were spaces). Oct 21, 2010
DataFormatView.cpp Progress refreshes too often - every fews seconds should be OK Aug 11, 2016
DataFormatView.h After using print preview in template view tab views are stuffed up. May 15, 2015
DefaultToolbarImages.bmp Add all source and help files. Aug 25, 2006
Dialog.cpp Fix open shareable flag to work the same way as the read only flag. May 20, 2016
Dialog.h Fix open shareable flag to work the same way as the read only flag. May 20, 2016
DirDialog.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
DirDialog.h Converting indent back to tabs (some were spaces). Oct 21, 2010
Docdata.cpp When writing to file, using WriteData(), fix to update Windows task b… Aug 12, 2016
EBCDIC.CPP Update copyright text and other header info. Jun 23, 2015
Ebcdic.tab Add all source and help files. Aug 25, 2006
EmailDlg.cpp Fix email addresses in "Email Support" dialog to use new Google addre… Aug 1, 2016
EmailDlg.h Update copyright text and other header info. Jun 23, 2015
Explorer.cpp Fix some spelling mistakes in comments Aug 3, 2016
Explorer.h Update copyright text and other header info. Jun 23, 2015
Expr.cpp use new int to string function for expressions. This fixes sign exten… Aug 11, 2016
Expr.h Add += operator to expressions Jul 26, 2016
FindDlg.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
FindDlg.h Pressing RETURN key in the Find dialog should be the same as clicking… Aug 23, 2011
GenDockablePane.cpp Update copyright text and other header info. Jun 23, 2015
GenDockablePane.h Stop flashing of dockable windows at startup Feb 13, 2011
GeneralCRC.cpp Move General CRC selection menu. Oct 4, 2016
GeneralCRC.h Replace calls to CAvoidableDialog::Show() with AvoidableTaskDialog(). May 5, 2016
GuiMisc.cpp Avoid problems with message boxes at startup (AfxGetMainWnd() returns… May 6, 2016
GuiMisc.h Move TaskMessageBox into GuiMisc.h/cpp to separate it from MLTaskDial… May 5, 2016
HelpID.hm Many more missing help IDs found after extensive testing. Jul 10, 2016
HexEdit.cpp Add new function to check for available space on a volume given a fil… Aug 11, 2016
HexEdit.h Allow right-click of a tip window to bring up Options dialog to the r… Jul 21, 2016
HexEdit.rc No new bugs and lots fixed so I took it out of beta. Aug 17, 2016
HexEdit.sln Add Crypto++ 5.6.3 source code to the repo under ThirdParty/CryptoPP … Aug 20, 2016
HexEdit.vcxproj Updated #include path for moved location of external headers. Oct 4, 2016
HexEdit.vcxproj.filters Move Boost, FreeImage and MPIR headers to ThirdParty\include directory. Oct 4, 2016
HexEditDoc.cpp Warn if insufficient disk space when saving the file. Aug 15, 2016
HexEditDoc.h Fix some spelling mistakes in comments Aug 3, 2016
HexEditMacro.cpp After recording a (non-integer) expression in the calc then playback … Jul 30, 2016
HexEditMacro.h After recording a (non-integer) expression in the calc then playback … Jul 30, 2016
HexEditSplitter.cpp Update copyright text and other header info. Jun 23, 2015
HexEditSplitter.h Small tidy up and remove spurious whitespace. Dec 31, 2010
HexEditVS2008.sln Better error handling of calculator buttons and some other minor fixes. Feb 4, 2011
HexEditVS2008.vcproj Further small fixes for SVN build number dependencies. Apr 17, 2016
HexEditView.cpp Move zlib source files to ThirdParty folder Oct 4, 2016
HexEditView.h Minor fixes to comments and spacing May 26, 2016
HexFileList.cpp When building list of file extensions to register for Jump Lists igno… May 18, 2016
HexFileList.h Save minimum match value in recent file list (CHexFileList) Aug 3, 2015
HexPrintDialog.cpp Update copyright text and other header info. Jun 23, 2015
HexPrintDialog.h Converting indent back to tabs (some were spaces). Oct 21, 2010
HexViewDraw.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
HexViewPrint.cpp Update copyright text and other header info. Jun 23, 2015
Hexedit.tip Change .EXE name from HexEditPro back to HexEdit Jun 14, 2015
Hexedit.xml Change .EXE name from HexEditPro back to HexEdit Jun 14, 2015
IntelHex.cpp Update copyright text and other header info. Jun 23, 2015
IntelHex.h Converting indent back to tabs (some were spaces). Oct 21, 2010
MainFrm.h In jump tools ignore expression side effects (like ++ operator) until… Jul 26, 2016
Mainfrm.cpp In jump tools ignore expression side effects (like ++ operator) until… Jul 26, 2016
MakeHelpMap.bat Help project file Mar 21, 2007
Makehelp.bat Update todo notes May 22, 2009
MakehelpV.bat Tidy up missing files from the project file. Minor fixes to text and … Aug 3, 2016
Misc.cpp Move zlib source files to ThirdParty folder Oct 4, 2016
Misc.h Add new function to format a date as a string using Windows short dat… Aug 16, 2016
NavManager.cpp Update copyright text and other header info. Jun 23, 2015
NavManager.h Converting indent back to tabs (some were spaces). Oct 21, 2010
NewCompare.cpp More code fixes for context-sensitive control help Jul 17, 2016
NewCompare.h Many more missing help IDs found after extensive testing. Jul 10, 2016
NewFile.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
NewFile.h Converting indent back to tabs (some were spaces). Oct 21, 2010
NewScheme.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
NewScheme.h Converting indent back to tabs (some were spaces). Oct 21, 2010
OPTYPES.H Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
OpenSpecialDlg.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
OpenSpecialDlg.h Update copyright text and other header info. Jun 23, 2015
Options.cpp Avoid build error with VS2013 Sep 2, 2016
Password.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Password.h Converting indent back to tabs (some were spaces). Oct 21, 2010
PreBuild.bat Tweeks to build batch files Jun 5, 2016
Preview.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Preview.h Updated #include path for moved location of external headers. Oct 4, 2016
PrevwView.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
PrevwView.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Prop.cpp Many more missing help IDs found after extensive testing. Jul 10, 2016
Prop.h Update copyright text and other header info. Jun 23, 2015
README.TXT Update README.TXT - not changed since 1.0 Nov 23, 2016
RecentFileDlg.cpp More code fixes for context-sensitive control help Jul 17, 2016
RecentFileDlg.h In recent file dialog when allowing reopen of selected file(s) add th… May 30, 2016
Register.cpp Fix spelling of Wei Dai's name in acknowledgements Aug 29, 2016
Register.h Remove use of deleted text line in About box. May 7, 2016
ResizeCtrl.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
ResizeCtrl.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
SRecord.cpp Update copyright text and other header info. Jun 23, 2015
SRecord.h Converting indent back to tabs (some were spaces). Oct 21, 2010
STDAFX.CPP Add all source and help files. Aug 25, 2006
SaveDffd.cpp Update copyright text and other header info. Jun 23, 2015
SaveDffd.h Add all source and help files. Aug 25, 2006
Scheme.h Make default address colours a but brighter (too dark on many monitors). Jul 21, 2016
ScrView.cpp Update copyright text and other header info. Jun 23, 2015
ScrView.h Update copyright text and other header info. Jun 23, 2015
SimpleGraph.cpp Selecting background stats options with BG processing already on and … Jul 30, 2016
SimpleGraph.h Previous fix for byte counts graph only worked properly for default (… Jul 13, 2016
SimpleSplitter.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
SimpleSplitter.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
SpecialList.cpp Finally made the CSpecialList methods that do not change anything "co… Aug 17, 2016
SpecialList.h Finally made the CSpecialList methods that do not change anything "co… Aug 17, 2016
Splasher.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Splasher.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Stdafx.h Remove last trace from build process of MLTaskDialogs code. May 5, 2016
SystemSound.cpp Update copyright text and other header info. Jun 23, 2015
SystemSound.h Update copyright text and other header info. Jun 23, 2015
TParseDlg.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
TParseDlg.h Add dialog base class that remembers its size and position Jul 19, 2013
TParser.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
TParser.h Update copyright text and other header info. Jun 23, 2015
TabView.cpp Update copyright text and other header info. Jun 23, 2015
TabView.h Converting indent back to tabs (some were spaces). Oct 21, 2010
Template.cpp Progress refreshes too often - every fews seconds should be OK Aug 11, 2016
Timer.h Update copyright text and other header info. Jun 23, 2015
TipWnd.cpp Allow right-click of a tip window to bring up Options dialog to the r… Jul 21, 2016
TipWnd.h Allow right-click of a tip window to bring up Options dialog to the r… Jul 21, 2016
Tipdlg.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
Tipdlg.h Update copyright text and other header info. Jun 23, 2015
Touchf.bat Tidy up missing files from the project file. Minor fixes to text and … Aug 3, 2016
TransparentListBox.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
TransparentListBox.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
TransparentStatic2.cpp Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
TransparentStatic2.h Converting indent back to tabs (some were spaces). Oct 21, 2010
UpdateChecker.cpp Update copyright text and other header info. Jun 23, 2015
UpdateChecker.h Update copyright text and other header info. Jun 23, 2015
UserTool.cpp Update copyright text and other header info. Jun 23, 2015
UserTool.h Converting indent back to tabs (some were spaces). Oct 21, 2010
Xmltree.cpp Update copyright text and other header info. Jun 23, 2015
Xmltree.h Update copyright text and other header info. Jun 23, 2015
control.h Update copyright text and other header info. Jun 23, 2015
manifest.xml Fix version in manifest. Other small fixes. May 18, 2016
ntapi.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
options.h Add commands for calculating SHA3 variants on the current selection. Apr 20, 2016
range_set.h Remove trailing whitespace (mainly in source downloaded from Code Pro… Sep 21, 2015
resource.h Fix problems with display of compare list tool window when switching … Aug 9, 2016
resource.hm Many more missing help IDs found after extensive testing. Jul 10, 2016
w2k_def.h Get rid of some warnings under VS2003. Sep 12, 2006

README.TXT

This directory (including certain subirectories) contains all 
the files required to build HexEdit.exe apart from some (open-
source) libraries.  It includes all the C++ source code (*.cpp and
*.h files), resource source files (HexEdit.rc, etc), etc.

The help source files are also included but require RoboHelp,
though the latest help file (HexEdit.chm) is included. The
installer files are also included but require InstallAware.

Also included is the Visual Studio project For VS2010 and later.

A description of some of the files is provided below.

If you extracted these files from a .ZIP file then you must have a
means of extracting using long file names.  Also you must use any
options that extract sub-directories, since there are files in the
RES and other sub-directories.

Note that a prebuilt release of HexEdit is available separately
at the web site http://www.hexedit.com.


About the Code
--------------

The source code for the original HexEdit was completely mine (apart
from libraries from Microsoft), but since HexEdit 1.0 was released in
1999 open-source code and libraries have been used including:

- Boost C++ library
- FreeImage
- MPIR (forked from GMP)
- Crypto++
- zlib
- MFC Grid Control and MFC controls/code from CodeProject

The program is quite reliable having very few reported bugs, though 
there are a few design issues.  There has only ever been one reported
bug that caused HexEdit to crash.

Another good metric that the program is relatively stable is that
Bounds Checker found few problems (although I haven't used it since
June 1998).  I exercised every aspect and condition of the program
that I could think of, but Bounds Checker only reported a few
problems deep in the MFC code none of which I could track back to
anything in my code.  I also used the Final Check option.

As the code was, at least initially, just a test program as I learnt
to use MFC it is not of the highest quality as far as maintainability
or reusability go.  Nevertheless, there are a few components that
you can easily use in other programs.

In particular, range_set.h implements a class that when used as a
container for integral types is completely compatible with the STL
container std::set.  When used with sets that have large contiguous
chunks it is more space and time efficient than std::set.  (For more on
range_set see my article in the June 99 issue of C/C++ Users Journal.)

Also timer.h implements a simple, but useful, low-resolution timer
class.  Boyer.h/boyer.cpp implements a class for doing Boyer-Moore searches
on a chunk of memory.

The class CScrView (ScrView.cpp/.h) was originally intended as a
better CScrollView.  I wrote it because I had major problems with
CScrollView under Windows 95, mainly due to the use of 16 bit values
to store pixel coordinates.  However, CScrView became a bit messy
when I tried to make it mapping mode independent.  It is probably
also more tightly coupled with CHexEditView than necessary.


How HexEdit was Developed
-------------------------

HexEdit was written in my spare time mainly during the first half of
1998.  I wrote it to become familiar with C++, Windows and MFC
programming.  Prior to this I had written only a little C++ and
Windows C code and no MFC, although I have been using C under
UNIX and MSDOS for more than 15 years.

HexEdit was written, built and tested entirely using Microsoft Visual
C++ 5.0 in the Developer Studio 97 IDE.  All knowledge about MFC
comes from the book "The Revolutionary Guide to MFC 4 Programming
with Visual C++" by Mike Blaszczak, which despite its name is a good
book.  All Knowledge of C++ comes from "The C++ Programming Language"
1st, 2nd and 3rd editions, by Bjarne Stroustrup.

Since the above was written HexEdit has been updated many times and
is now built using VC++11 which comes with Visual Studio 2012.

Description of Source Files (HexEdit 1.0)
---------------------------

HexEdit.dsp - Dev Studio project file 

HexEdit.h - main header that declares CHexEditApp class
HexEdit.cpp - main source file implementing ChexEditApp
HexEditDoc.h - declares the document class (CHexEditDoc)
HexEditDoc.cpp - implements CHexEditDoc (along with DocData.cpp)
HexEditView.h - declares the view class (ChexEditView)
HexEditView.cpp - implements the view class, including window drawing
Mainfrm.h - declares the mainframe windows class (CMainFrame)
Mainfrm.cpp - implements CMainFrame including toolbars and status bar
Childfrm.h - declares the MDI child frame class (CChildFrame)
Childfrm.cpp - implements CChildFrame (frame window for each view)
StdAfx.h - includes the headers to be added to the precompiled headers file
StdAfx.cpp - build this to rebuild the precompiled headers
HexFileList.h - declares a class derived from MFC CRecentFileList class
HexFileList.cpp - ssave/restores settings for file in the recent file list
Scrview.h - declares CScrView the base class of CHexEditView
Scrview.cpp - implements CScrView supporting scrolling up to 2^31 pixels
Search.h - declares a class that overrides standard CFindReplaceDialog
Search.cpp - implements dialog and control classes used in Find Dialog
control.h - declares classes to subclass MFC control/bar classes
control.cpp - implements edit control, status and dialog bar subclasses
Docdata.cpp - implements data access part of CHexEditDoc
HexEditMacro.h - declarations for implementing keystroke macros
HexEditMacro.cpp - implements keystroke macros as part of CHexEditApp
options.h/.cpp - options property sheet and property pages classes
Prop.h/.cpp - porperties property sheet and property pages classes
Dialog.h/.cpp - declares and implements miscellaneous dialogs
Tipdlg.h/.cpp -    "      "      "    the Tip of the Day dialog
EmailDlg.h/.cpp -  "      "      "    the email tech support dialog
Misc.h/.cpp -      "      "      "    a few utility routines
Boyer.h/.cpp -     "      "      "    a class for Boyer-Moore searches
Partition.h - declares structure use in "Colours" option page
Timer.h - an implementation of a low-resolution timer class
range_set.h - STL compatible container: set of "chunks of integers"

HexEdit.mak - exported makefile generated from HexEdit.dsp

MakeHelp.bat - batch file used in generation of HexEdit.hlp
HLP\HexEdit.rtf - contains the text of all the HexEdit help topics
HLP\HexEdit.cnt - help contents file
HLP\Hexedit.hpj - help project file
HLP\*.BMP - graphics used in the help file
HexEdit.tip - text file containing tips used by "Tip of the Day"

HexEdit.rc - defines or includes all HexEdit resources
resource.h - Dev Studio generated include file of resource IDs
RES\HexEdit.ico - application icon (at 16x16 and 32x32)
RES\HexEditDoc.ico - icon used for MDI child windows
RES\*.* - icons, bitmaps etc that are included in HexEdit.rc

------ END OF README --------