
1.1.2 WinHex编辑器
WinHex是一款以通用十六进制编辑器为核心,专门用于处理数据恢复、低级数据处理、IT安全性及各种日常紧急情况的高级编辑工具。该工具的主要作用是分析和比较文件、磁盘克隆、数据擦除、搜索和替换等,利用该工具可以进行检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等操作。下面将介绍如何配置和使用WinHex编辑器。
(1)配置WinHex
为了充分地利用WinHex工具的强大功能,在使用该工具之前还需要对其进行一些简单的配置。具体的操作步骤如下。
步骤1:下载并解压缩WinHex文件后,双击WinHex.exe可执行文件,即可打开“WinHex”主窗口,如图1.1.2-1所示。

图1.1.2-1
步骤2:依次选择“Options(选项)”→“General(常规)”菜单项,即可打开“General Options(常规选项)”对话框,在其中可以设置临时文件的文件夹的存放位置,如:C:\Users,并勾选“(Hexadecimal offsets)十六进制偏移量”复选框,将虚拟地址和偏移地址都设置为十六进制的,如图1.1.2-2所示。

图1.1.2-2
步骤3:依次选择“Options(选项)”→“Edit Mode(编辑模式)”菜单项,即可打开“Select Mode(选择模式)”对话框,如图1.1.2-3所示。由于WinHex默认是写保护方式的,这里将编辑模式修改为“Default Edit Mode(=editable)(默认的编辑模式(=可编写))”选项。

图1.1.2-3
步骤4:依次选择“Options(选项)”→“Data Interpreter Options(数据解析器选项)”菜单项,即可打开“Data Interpreter Options(数据解析器选项)”对话框,可在其中设置数据解析器的各个属性,如图1.1.2-4所示。

图1.1.2-4
(2)WinHex的使用
WinHex的主要功能是以十六进制方式编辑和修改机器码,另外它还有编辑文本、文件比较以及内存编辑等功能。该工具的具体使用步骤如下。
步骤1:在“WinHex”主窗口中依次选择“File”→“Open”菜单项,即可打开“Open Files(打开文件)”对话框,可在其中选择需要打开的应用程序,如图1.1.2-5所示。

图1.1.2-5
步骤2:单击“打开”按钮,即可在“WinHex”主窗口中看到该文件的十六进制代码,如图1.1.2-6所示。

图1.1.2-6
步骤3:在WinHex中可以定位到某个偏移地址处。在“WinHex”主窗口中依次选择“Navigation(浏览)”→“Go To Offset(转到偏移量)”菜单项,即可打开“Go To Offset(转到偏移量)”对话框。在“New position(新位置)”文本框中输入“0000050”,如图1.1.2-7所示。

图1.1.2-7
步骤4:单击“OK”按钮,即可将光标转到相应的地址处,如图1.1.2-8所示。

图1.1.2-8
步骤5:使用WinHex还可以搜索出一些程序内的字符串,并且可以对它们进行编辑。在“WinHex”主窗口中选择“Search(搜索)”→“Find Text(查找文本)”命令,即可打开“Find Text(查找文本)”对话框。在其中输入需要修改的字符串,如“run in DOS mode”,将搜索方式设置为“ASCII/Code page”选项,如图1.1.2-9所示。

图1.1.2-9
步骤6:单击“OK”按钮,即可看到已经跳转到要搜索字符串的地址处,如图1.1.2-10所示。在窗口右侧文本区域中进行字符串的修改,单击工具栏上的保存按钮,即可保存。

图1.1.2-10
步骤7:利用WinHex软件还可以对文件进行连接、分割、合并、不可逆转删除和比较等操作。在解密时经常用到的功能是比较,即通过比较解密前后的文件,看出解密者对程序中的哪些代码做了修改,最后生成一个文本格式的差别报告。在Winhex主窗口中依次选择“Tools(工具)”→“Compare Data(比较数据)”菜单项,即可打开“Compare File/Disks Data(比较文件/硬盘数据)”对话框,如图1.1.2-11所示。

图1.1.2-11
步骤8:分别单击“Data source 1”“Data source 2”文本框后面的浏览按钮,即可打开“Start Center(启动中心)”对话框,如图1.1.2-12所示。

图1.1.2-12
步骤9:单击“Open File(打开文件)”按钮,在“Open Files(打开文件)”对话框中选择需要比较的文件,单击“打开”按钮,即可返回“启动中心”对话框。单击“OK”按钮返回“比较文件/硬盘数据”对话框,即可看到选择的需要比较的文件,如图1.1.2-13所示。

图1.1.2-13
步骤10:单击“Output as(输出)”文本框后面的浏览按钮,即可打开“Save Report As(保存报告为)”对话框,可在其中设置报告的保存位置和文件名,如图1.1.2-14所示。

图1.1.2-14
步骤11:单击“保存”按钮,即可返回“比较文件/硬盘数据”对话框,可在其中看到报告的具体保存位置,如图1.1.2-15所示。单击“OK”按钮,即可打开“可以用记事本程序查看报告”提示框,如图1.1.2-16所示。

图1.1.2-15

图1.1.2-16
步骤12:当系统完成文件的比较之后,将会产生一个文本文件,从中可以看到不同代码处的偏移地址、代码内容和差别总数等信息,如图1.1.2-17所示。

图1.1.2-17
步骤13:在WinHex软件中还可以将应用程序分割为指定大小的文件。在WinHex主窗口中依次选择“Tools(工具)”→“Files Tools(文件工具)”→“Split(分割)”菜单项,即可打开“Split File(分割文件)”对话框,在其中选择需要分割的文件,如图1.1.2-18所示。

图1.1.2-18
步骤14:单击“Split(分割)”按钮,即可打开定义文件大小对话框,在其中设置文件的大小,如图1.1.2-19所示。

图1.1.2-19
步骤15:单击“OK”按钮,即可打开“Destination File(目标文件)”对话框,在其中设置目标文件的保存位置,如图1.1.2-20所示。单击“保存”按钮,即可进行文件分割并保存。

图1.1.2-20