随笔 - 95, 评论 - 66, 访问 - 513102

导航


  • 访问:513102次
  • 积分:1006分
  • 排名:第15名
  • 随笔:95篇
  • 评论:66条

随笔分类

随笔档案

相册

最新评论

阅读排行榜

评论排行榜

好饱 阅读(18295) 评论(0)

 

作者:Andrew Phillips

 

[译者按]HexEdit是一个伟大的软件,多少年来一直未伴随着我们,如今作者释放出全部源代码,真的让我们感激万分。本文摘录翻译了部分,原文请参见

 

 

介绍

我在去年公测后发布了hexedit 4.0正式版。测试版工作得很好,所以我并没有急于释放正式版,有些小BUG需要修复。

 

HexEdit用C++编写,需要VS2008(带功能包)、VS2012或后续版本和MFC的支持。你很容易编译生成它,如果有问题请参阅“生成HexEdit 4.0”章节,现在也有一个工程文件是针对VS2012的。

 

HexEdit(1999年)的第一个版本是开源的,但后来的版本是共享软件(虽然我一直坚持在做一个免费的版本)。hexedit的2.0开放源代码,因为它使用了一些BCG商业库。(BCG库是一个很好的MFC扩展库,所以我不后悔使用它。)幸运的是,几年前,微软买了BCG代码,并把它纳入MFC。所以,现在hexedit的4.0是第一次开源(见 );也有一个共享软件版本,可用于那些想为它支付的朋友(见 ),增加了一些小功能。

 

要生成hexedit 4.0中,您只需要Visual Studio,加上一些开放的源代码和库(其中大部分来自CodeProject)。您可以使用程序或任何的源代码,不管出于什么目的,你认为合适的,只要你遵守的相关许可要求(见下文)或任何包含第三方代码的具体要求。

 

开发历史

 

我在1997-1998写的HexEdit,当时工作中需要用到,而那时正缺少十六进制编辑器。

hexedit被设计为易于使用和用户熟悉的Windows软件,就像MS Word和Visual Studio。事实上,它借鉴了一些常见的Windows程序的很多思路。

 

代码文件

HexEdit.h - CHexEditApp 类是应用程序类。

Stdafx.h - 预编译头文件

resource.h - 资源 IDs,用于 HexEdit.rc 和C++代码

 

MainFrm.h - 主程序窗口MFC类

ChildFrm.h - 处理每个文件的窗口类

HexEditDoc.h - CHexEditDoc 类 (参阅 HexEditDoc.cpp, DocData.cpp, Template.cpp, BGSearch.cpp, BGAerial.cpp).

HexEditView.h - CHexEditView 类(参阅 HexEditView.cpp 和 Printer.cpp)

ScrView.h - CScrView 提供了可滚屏的视图 (CHexEditView的基类)

DataFormatView.h - CDataFormatView 处理模板显示 (参阅 Template.cpp)

AerialView.h - CAerialView class - 显示 aerial 视图 (参阅 BGAerial.cpp)

 

Prop.h - 属性对话框类 (property sheet, property pages and controls)

BookMarkDlg.h - CBookMarkDlg 对话框用于显示、添加书签(参见bookmark.h) 

FindDlg.h - 查找对话框对应类 (property sheet and pages) 

Explorer.h - HexEdit 浏览对话框 (dialog and control classes) 

CalcDlg.h - CCalcDlg 计算器对话框类 (see also CalcEdit.h below)

 

Options.h - 选项对话框的属性页

DFFD*.h - 模板编辑对话框 

TParseDlg.h - 模板编辑时使用的C/C++分析对话框 (参见TParse.h)

NewFile.h - “新文件”和“插入块”对话框

OpenSpecialDlg.h - 磁盘编辑打开特殊对话框 (参见SpecialList.h) 

RecentFileDlg.h - 显示最近使用的文件对话框 (参见HexFileList.h) 

CopyCSrc.h - CCopyCSrc对话框,用于 "Copy As C Source" 

Algorithm.h - CAlgorithm 类用于加密算法对话框

Password.h - CPassword 类用于密码加密对话框

CompressDlg.h - zlib压缩对话框

EmailDlg.h - 邮件对话框

Tipdlg.h - 显示每日技巧

Dialog.h - 在宏中使用的对话框 (GetStr CMacroMessage CSaveMessage CMultiplay

- 还有CFileDialog 派生类,包括 CHexFileDialog)

HexPrintDialog.h - 自定义打印对话框 (重载 MFC CPrintDialog 

SaveDffd.h - 模板没有保存时的提示对话框 (save/save as/cancel) 

NewScheme.h - small dialog used when creating a new color scheme 

BookmarkFind.h - used by Find dialog when bookmarking found occurrences 

DirDialog.h - directory selection dialog (see below)

 

Splasher.h - CSplashWnd for splash screen (see below) 

TipWnd.h - CWnd derived class to show a small "tip" window (see below) 

TransparentListBox.h, TransparentStatic2.h - transparent controls (see below) 

CCalcEdit.h - CCalcEdit class which handles calculator edit box 

control.h - various text and combo controls used in dialogs and on toolbars

 

GenDockablePane.h - dockable window used to makes Calculator, Find dialog etc dockable 

ResizeCtrl.h - CResizeCtrl (see below) 

BCGMisc.h - a few classes derived from BCG (now MFC) classes 

UserTool.h - CHexEditUserTool is derived from CUserToolto allow command line substition for user tools 

SimpleSplitter.h - CSimpleSplitter is used in Explorer dialog for the split between folder/file sections 

HexEditSplitter.h - CHexEditSplitter allows showing aerial/template views in a split window 

TabView.h - CHexTabView (derived from CTabView allows showing aerial/template views in tabs 

CoordAp.h - CPointAp CSizeAp CRectAp (see below) for 64-bit (vertically) coordinate system

 

TParser.h - 用于TParseDlg的C/C++代码分析器 (参阅下面的TParseDlg.h) 

HexEditMacro.h - handles recording and playback of Keystroke macros 

HexFileList.h - stores global list of all recent files 

SpecialList.h - stores info about that volumes and raw disks in the system 

Bookmark.h - CBookmarkList class for global storage for bookmarks 

Scheme.h - CScheme stores all color schemes 

NavManager.h - global storage of navigation points 

SystemSound.h - CSystemSound contains static method for getting, setting, playing sounds (see below) 

Timer.h - timer class can time events (see below)

 

UpdateChecker.h - 通过Internet检测HexEdit的最新版本

Xmltree.h - 封装了MS XML SDK

BigInter.h - BigInteger 类用于处理大于64位的数字

CFile64.h - CFile64 类用于64位文件处理 

crypto.h - CCrypto 类封装了 Crypto API

Boyer.h - boyer类用于搜索

range_set.h - template class for set with ranges (see below) 

Expr.h - expr_eval class handles C-like expressions (used in templates etc) 

IntelHex.h - CReadIntelHexand CWriteIntelHex (see below) 

SRecord.h - CReadSRecordand CWriteSRecord (see below)

 

misc.h - 杂项全局函数

md5.h - routines for generating an MD5 checksum

ntapi.h - declarations for direct access to NT API (bypassing Windows) for disk editor 

w2k_def.h - more NT (not 9X) info - included by ntapi.h 

optypes.h - defines unary and binary operations (for Calculator and Operations menu)

SVNRevisionTemplate.h - used by SVN uitlity to create SVNRevision.hSVNRevision.h - just stores 

 

相关内容

更多内容请参见

 


发表评论
切换编辑模式