winhex是一款针对文件和磁盘而打造的编辑软件,用户可以做相关的编辑和替换,帮助您在使用的过程中可以更加的便捷。此外还有文件对比和分析功能,便于您可以更好的来进行查看。


2、支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系统
3、支持对磁盘阵列 RAID 系统和动态磁盘的重组、分析和数据恢复
4、多种数据恢复技术
5、可分析RAW格式原始数据镜像文件中的完整目录结构,支持分段保存的镜像文件
6、数据解释器, 已知20种数据类型
7、使用模板编辑数据结构 (例如: 修复分区表/引导扇区)
8、连接和分割、以奇数偶数字节或字的方式合并、分解文件
9、分析和比较文件
10、搜索和替换功能尤其灵活
11、磁盘克隆 (可在DOS环境下使用X-Ways Replica)
12、驱动器镜像和备份 (可选压缩或分割成650MB的档案)
13、程序接口 (API) 和脚本
14、256 位 AES 加密, 校验和, CRC32, 哈希算法 (MD5, SHA-1, ...)
15、数据擦除功能,可彻底清除存储介质中残留数据
16、可导入剪贴板所有格式数据, 包括 ASCII、16 进制数据
17、可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换
18、字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode)
19、立即窗口切换、打印、生成随机数字
20、支持打开大于 4 GB 的文件,非常快速,容易使用。
21、广泛的联机帮助

2、搜索和替换功能尤其灵活
3、磁盘克隆 (可在 DOS 环境下使用 X-Ways Replica)
4、驱动器镜像和备份 (可选压缩或分割成 650 MB 的档案)
5、程序接口 (API) 和脚本
6、256 位 AES 加密, 校验和, CRC32, 哈希算法 (MD5, SHA-1, ...)
7、数据擦除功能,可彻底清除存储介质中残留数据
8、可导入剪贴板所有格式数据, 包括 ASCII、16 进制数据
9、可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换
10、字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode)
11、立即窗口切换、打印、生成随机数字

启动winhex,你可以通过桌面快捷方式或者利用右下角的开始按钮,找到安装软件进行启动,然后进入相关的界面。


你可以打开工具栏中的“专业工具”,然后进行相关的操作。里面有很多比较专业的操作,不确定的情况下不要乱改。


你可以打开工具中的克隆磁盘,然后进行相关的操作,例如克隆一些文件,作为备份等等。


你可以利用选项,进行编辑模式的设置,如设置16进制模式,文本模式等等。


你可以打开ram,进行主内存的编辑,但是这个操作一般不要涉及,比较专业的人才可以操作,否则可能会出大的问题。

模板制作方法
打开winhex按住CTRL+F12,打开winhex的模板管理器

点击新建按钮,出现下图

我来讲解下winhex模板编程的语法:
winhex模板头的常用关键字:
1.template:声明模板的名字 eg:template “海天数据恢复的winhex模板1″
2.description:描述参数,描述这个winhex模板的用途。(保存好后,你可以在winhex模板管理器里看到你自定义的模板的名字,描述等信息。)eg:description “这个winhex模板是用来。。。”
3.applies_to:参数可以是file/disk/RAM。指定该winhex模板的适用对象时文件、磁盘还是内存。eg:applies_to disk
4.fixed_start offset:winhex模板的默认起始偏移量取决于光标停留的位置,而这个关键字是来指定偏移量起始位置。eg:fixed_start 0x040
5.sector-aligned:作用是指定winhex模板从当前扇区的偏移0位置运行。无参数。
6.requires offset:匹配数据,若发现指定偏移量的位置的数据不匹配,就会报错。注意:这里的偏移量是相对于winhex模板起始偏移量计算的。eg:requires 0x1fe 55aa
7.big-endian/little-endian:规定读取的字节顺序,也就是平日说的小端机、大端机的区别,内存的数据存储方向不一样。无参数。
8.hexadecimal:使winhex模板中读到的数据都以十六进制方式显示,octal为八进制,decimal为十进制。无参数。
9.read-only/read-write:规定读取权限。无参数。
10.multiple:作用是使winhex模板上出现左右键来让你可以选择读取上一条或下一条记录,记录之间的跨度是该winhex模板涉及的所有字节的长度。无参数。
11.begin与end:之间的区域用于存放程序主干。
这里作下winhex模板头知识总结:首先,winhex模板的命名需要关键字template加引号完成。description参数可以补充描述。applies_to(RAM、file、disk)后面可以用于指定访问对象的类型,使winhex模板适应当前工程的根本环境。fixed_start可以为winhex模板指定起始偏移量。requires则制定更严格的winhex模板运行条件,要求winhex模板作用范围内指定位置必须匹配指定数据。big-endian、hexadecimal、read-only等都是作用于显示输出的可选参数。头部关键字没有强制规定“出场顺序”,对引号的要求也不严格。此外,winhex模板可以用双斜杠添加注释,这是一个很好的编程习惯。
注意:数制属性关键字(hexadecimal等)、显示方向属性关键字(big-endian等)、读写属性关键字(read-only等)都可以插入begin与end之间,用于临时改变数据的属性,注意这种改变仅仅作用于紧随它们的数据类型声明语句,而并非全局。
下面说下程序主干里的常用关键字:
1.int8:带符号的8位整型,占用一字节,范围-128~127。eg:int8 “身高”
2.uint8:无符号的8为整型,占用一字节,范围0~255。同byte类型。
3.int16:带符号的16位整型,占用2字节。
不赘述了,与前面这些类似的还有:uint16, int32, uint32, int64, int24, uint24。
4.unit_flex:类似于c语言里位域的概念。其语法是:unit_flex “要解释的位” “title”
例如:unit_flex “8,7,6,5,4,3,2,1,0” “permissions”,表示读取一个32位无符号整数并解释其低9位。
注意,尽管unit_flex所表示的数据长度可能小于4个字节,但每次读取仍然按照4个字节来计算,故而要特别注意位域的实际长度。比如,我们要解释一个16位整型数值的前4位和后12位,应当首先解释前4位,这时光标移动4字节。unit_flex “3,2,1,0” “flexlow” 因为还有数据要从该16位整型数值中提取,故回退4个字节。move -4 。 解释后12位。unit_flex “15,14,13,12,11,10,9,8,7,6,5,4” “flexhigh” 由于16位整型数值只占用两个字节,而实际光标移动4字节,故需要回退2字节:move -2, 否则会占用下一个数据的空间。
5.binary:每次读取一个字节,并解释为二进制样式。
6.char:读取一个字节,ascii码显示。也可以用char[len]读取字符数组(字符串),len表示长度。
7.char16:读取两个字节,Unicode字符显示。
8.string:ascii字符串。语法为string len “title”
9.string16:unicode字符串。
10.zstring:表示不管长度读取一个ascii字符串,遇到”NULL”时结束。zstring16为其Unicode版本。
11.hex:表示直接读取字节而且并不将其解释为任何数据类型,直接显示。
12.float:占用4字节,浮点数,同c语言。
13.real:占用6字节,浮点数。
14.double:占用8字节,浮点数。
15.longdouble:占用10字节,浮点数。
16.Loop:实现简单的循环。中括号中可以存放常量表示循环次数,也可以直接引用前面数据类型的title。
17.IfEqual:简单的if语句,判断是否相等。比较的对象可以是常量,也可以是前面数据类型的title。
18.~:占位符。一般用于循环内部数据类型的标题中,以形成数字递增的效果。常常与numbering配合使用。numbering可以用来指定占位符的初始值。
海天数据恢复提醒您:winhex模板使用方法讲解完毕,希望大家灵活运用,打造出属于自己的个性模板。
下面是一个winhex模板的示例,大家可以参照这个模板制作出自己的模板
EXFAT文件系统的winhex模板
template “EXFAT_DBR”description “EXFAT_DBR|海天数据恢复”sector-alignedbeginhex 3 “跳转代码 0XEB7690”string 5 “EXFAT”move 56int64 “分区的起始扇区号”int64 “分区的总扇区数”uint32 “FAT表的起始扇区号”uint32 “FAT表的总扇区数”uint32 “数据区的起始扇区号”uint32 “卷内总簇数”uint32 “根目录的起始簇号”uint32 “卷ID”move 2hex 2 “卷标志”uint8 “每扇区字节数,2个N次方”uint8 “每簇扇区数,2个N次方”uint8 “FAT表的个数”end

1、打开winhex,我们看下起始分区表信息,由于教程原因,我们把分区表里面的数据全部填充为0。恢复原有的3个分区,只要把里面的数据填充正确即可。
2、我们看下3个分区表都是NTFS格式,我们在winhex中填入NTFS的编码07,并在分区表结尾输入结束标志:55AA
3、查看第一个分区表大小
4、拷贝第一分区表大小到原始分区表
5、查看分区的起始扇区位置,并填写到原始分区
6、在原始分区输入扇区起始位置
7、我们在到磁盘管理中查看,发现第一分区表已经成功恢复,同理恢复后面的2个分区表
如何利用winhex处理磁盘未格式化?
1、用winhex来回复分区中的数据。?1.翻开winhex,然后点击“东西”----“翻开磁盘”,挑选“物理磁盘”中的毛病盘。翻开以后咱们 就可以可能到分区中的信息了。
2、点击右上方的黑色小箭头呈现下拉菜单,可以看到有毛病的 分区和其他正常分区显现是不一样的。毛病分区显现“分区X XXGB ?/"为何会呈现“?”呢 ,就是因为该分区引发动扇区犯错导致winhex无法正常辨认。
3、每个分区都有自个的备份发动扇区,所以咱们就用备份来康复。将右侧滚动条拉到最下边,跳到该分区的最终一个扇区,咱们看到满是00,这是每个分区都有的保存扇区。
4、ntfs发动扇区最显着的标志即是“EB 52”,经过搜索来找到它,点击搜索图标,输入下面的值
5、找到了备份发动扇区,把鼠标指针移到“EB 52"前面点右键选“选块开端”,在移到该扇区右下脚 “55 AA”后边右键挑选“选块完毕”看到该扇区被悉数选定,再右键“修改”-----“仿制选块”中的“规范”
6、再次点击右边黑色箭头挑选“发动扇区”,将鼠标移到该扇区最左上方点右键挑选“剪贴板数据”---“写入”,这时winhex提示“此操作会损坏该磁盘类容”点击持续。
7、现在完成了记得点保留哦。

【软件介绍】
winhex是一款最新免费以十六进制编辑器为核心的数据处理高级辅助工具。本软件执行的方式主要以十六进制展示,所以很多人也就叫他十六进制编辑器,在处理数据的时候,您可以一款显示文本、一边显示进制字符,方便你在修改的时候可以查看选取的范围是否正确,内置字符集查看,不会的可以查看这里,同时提供了模板管理器以及字符数值表等复制性的数据查看工具,让在编辑进制的时候可以得到更多的参考,虽然我们更喜欢称之为十六进制编辑器,但它确实有着很多诸如数据恢复、低级数据处理等其他强大的功能,在需要恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等情况中能够有很好的处理效果,使用方便,功能强大。当然了,这些高级功能同样是基于对十六进制数据的处理,需要有相当强悍的专业知识才能使用。该软件一直以来广受赞誉,是软件破解、BIOS 修改等方面的必备工具,其对十六进制数据的处理能力即使是常用的UltraEdit也无法望其项背的。WinHex 曾经和UltraEdit齐名的编辑器,但是后来两者的发展路线截然不同,UltraEdit做了全功能编辑器,而该软件的功能更加趋于检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等。利用WinHex可让你看到其他程序隐藏起来的文件和数据。而且其同样是非常不错的十六进制编辑器。该软件是一个相当实用的系统小工具,它可以对系统文件进行彻底的检查,并对有漏洞的地方加以修复,还能恢复因硬盘损坏而丢失的数据;同时该软件有着极强的16进制处理能力,能够帮助电脑高手轻松完成软件破解、BIOS修改等高难度工作,十分的强大。总体来说是一款非常不错的 16 进制编辑器。得到ZDNetSoftwareLibrary 五星级最高评价,拥有强大的系统效用!需要的朋友门赶紧前来下载吧!
【软件功能】
1、硬盘, 软盘, CD-ROM 和 DVD, ZIP, Smart Media, Compact Flash, 等磁盘编辑器...2、支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系统
3、支持对磁盘阵列 RAID 系统和动态磁盘的重组、分析和数据恢复
4、多种数据恢复技术
5、可分析RAW格式原始数据镜像文件中的完整目录结构,支持分段保存的镜像文件
6、数据解释器, 已知20种数据类型
7、使用模板编辑数据结构 (例如: 修复分区表/引导扇区)
8、连接和分割、以奇数偶数字节或字的方式合并、分解文件
9、分析和比较文件
10、搜索和替换功能尤其灵活
11、磁盘克隆 (可在DOS环境下使用X-Ways Replica)
12、驱动器镜像和备份 (可选压缩或分割成650MB的档案)
13、程序接口 (API) 和脚本
14、256 位 AES 加密, 校验和, CRC32, 哈希算法 (MD5, SHA-1, ...)
15、数据擦除功能,可彻底清除存储介质中残留数据
16、可导入剪贴板所有格式数据, 包括 ASCII、16 进制数据
17、可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换
18、字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode)
19、立即窗口切换、打印、生成随机数字
20、支持打开大于 4 GB 的文件,非常快速,容易使用。
21、广泛的联机帮助

【软件特色】
1、分析和比较文件2、搜索和替换功能尤其灵活
3、磁盘克隆 (可在 DOS 环境下使用 X-Ways Replica)
4、驱动器镜像和备份 (可选压缩或分割成 650 MB 的档案)
5、程序接口 (API) 和脚本
6、256 位 AES 加密, 校验和, CRC32, 哈希算法 (MD5, SHA-1, ...)
7、数据擦除功能,可彻底清除存储介质中残留数据
8、可导入剪贴板所有格式数据, 包括 ASCII、16 进制数据
9、可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换
10、字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode)
11、立即窗口切换、打印、生成随机数字

【使用教程】
使用启动winhex,你可以通过桌面快捷方式或者利用右下角的开始按钮,找到安装软件进行启动,然后进入相关的界面。


你可以打开工具栏中的“专业工具”,然后进行相关的操作。里面有很多比较专业的操作,不确定的情况下不要乱改。


你可以打开工具中的克隆磁盘,然后进行相关的操作,例如克隆一些文件,作为备份等等。


你可以利用选项,进行编辑模式的设置,如设置16进制模式,文本模式等等。


你可以打开ram,进行主内存的编辑,但是这个操作一般不要涉及,比较专业的人才可以操作,否则可能会出大的问题。

模板制作方法
打开winhex按住CTRL+F12,打开winhex的模板管理器

点击新建按钮,出现下图

我来讲解下winhex模板编程的语法:
winhex模板头的常用关键字:
1.template:声明模板的名字 eg:template “海天数据恢复的winhex模板1″
2.description:描述参数,描述这个winhex模板的用途。(保存好后,你可以在winhex模板管理器里看到你自定义的模板的名字,描述等信息。)eg:description “这个winhex模板是用来。。。”
3.applies_to:参数可以是file/disk/RAM。指定该winhex模板的适用对象时文件、磁盘还是内存。eg:applies_to disk
4.fixed_start offset:winhex模板的默认起始偏移量取决于光标停留的位置,而这个关键字是来指定偏移量起始位置。eg:fixed_start 0x040
5.sector-aligned:作用是指定winhex模板从当前扇区的偏移0位置运行。无参数。
6.requires offset:匹配数据,若发现指定偏移量的位置的数据不匹配,就会报错。注意:这里的偏移量是相对于winhex模板起始偏移量计算的。eg:requires 0x1fe 55aa
7.big-endian/little-endian:规定读取的字节顺序,也就是平日说的小端机、大端机的区别,内存的数据存储方向不一样。无参数。
8.hexadecimal:使winhex模板中读到的数据都以十六进制方式显示,octal为八进制,decimal为十进制。无参数。
9.read-only/read-write:规定读取权限。无参数。
10.multiple:作用是使winhex模板上出现左右键来让你可以选择读取上一条或下一条记录,记录之间的跨度是该winhex模板涉及的所有字节的长度。无参数。
11.begin与end:之间的区域用于存放程序主干。
这里作下winhex模板头知识总结:首先,winhex模板的命名需要关键字template加引号完成。description参数可以补充描述。applies_to(RAM、file、disk)后面可以用于指定访问对象的类型,使winhex模板适应当前工程的根本环境。fixed_start可以为winhex模板指定起始偏移量。requires则制定更严格的winhex模板运行条件,要求winhex模板作用范围内指定位置必须匹配指定数据。big-endian、hexadecimal、read-only等都是作用于显示输出的可选参数。头部关键字没有强制规定“出场顺序”,对引号的要求也不严格。此外,winhex模板可以用双斜杠添加注释,这是一个很好的编程习惯。
注意:数制属性关键字(hexadecimal等)、显示方向属性关键字(big-endian等)、读写属性关键字(read-only等)都可以插入begin与end之间,用于临时改变数据的属性,注意这种改变仅仅作用于紧随它们的数据类型声明语句,而并非全局。
下面说下程序主干里的常用关键字:
1.int8:带符号的8位整型,占用一字节,范围-128~127。eg:int8 “身高”
2.uint8:无符号的8为整型,占用一字节,范围0~255。同byte类型。
3.int16:带符号的16位整型,占用2字节。
不赘述了,与前面这些类似的还有:uint16, int32, uint32, int64, int24, uint24。
4.unit_flex:类似于c语言里位域的概念。其语法是:unit_flex “要解释的位” “title”
例如:unit_flex “8,7,6,5,4,3,2,1,0” “permissions”,表示读取一个32位无符号整数并解释其低9位。
注意,尽管unit_flex所表示的数据长度可能小于4个字节,但每次读取仍然按照4个字节来计算,故而要特别注意位域的实际长度。比如,我们要解释一个16位整型数值的前4位和后12位,应当首先解释前4位,这时光标移动4字节。unit_flex “3,2,1,0” “flexlow” 因为还有数据要从该16位整型数值中提取,故回退4个字节。move -4 。 解释后12位。unit_flex “15,14,13,12,11,10,9,8,7,6,5,4” “flexhigh” 由于16位整型数值只占用两个字节,而实际光标移动4字节,故需要回退2字节:move -2, 否则会占用下一个数据的空间。
5.binary:每次读取一个字节,并解释为二进制样式。
6.char:读取一个字节,ascii码显示。也可以用char[len]读取字符数组(字符串),len表示长度。
7.char16:读取两个字节,Unicode字符显示。
8.string:ascii字符串。语法为string len “title”
9.string16:unicode字符串。
10.zstring:表示不管长度读取一个ascii字符串,遇到”NULL”时结束。zstring16为其Unicode版本。
11.hex:表示直接读取字节而且并不将其解释为任何数据类型,直接显示。
12.float:占用4字节,浮点数,同c语言。
13.real:占用6字节,浮点数。
14.double:占用8字节,浮点数。
15.longdouble:占用10字节,浮点数。
16.Loop:实现简单的循环。中括号中可以存放常量表示循环次数,也可以直接引用前面数据类型的title。
17.IfEqual:简单的if语句,判断是否相等。比较的对象可以是常量,也可以是前面数据类型的title。
18.~:占位符。一般用于循环内部数据类型的标题中,以形成数字递增的效果。常常与numbering配合使用。numbering可以用来指定占位符的初始值。
海天数据恢复提醒您:winhex模板使用方法讲解完毕,希望大家灵活运用,打造出属于自己的个性模板。
下面是一个winhex模板的示例,大家可以参照这个模板制作出自己的模板
EXFAT文件系统的winhex模板
template “EXFAT_DBR”description “EXFAT_DBR|海天数据恢复”sector-alignedbeginhex 3 “跳转代码 0XEB7690”string 5 “EXFAT”move 56int64 “分区的起始扇区号”int64 “分区的总扇区数”uint32 “FAT表的起始扇区号”uint32 “FAT表的总扇区数”uint32 “数据区的起始扇区号”uint32 “卷内总簇数”uint32 “根目录的起始簇号”uint32 “卷ID”move 2hex 2 “卷标志”uint8 “每扇区字节数,2个N次方”uint8 “每簇扇区数,2个N次方”uint8 “FAT表的个数”end

【常见问题】
分区表丢失如何手工恢复?1、打开winhex,我们看下起始分区表信息,由于教程原因,我们把分区表里面的数据全部填充为0。恢复原有的3个分区,只要把里面的数据填充正确即可。
2、我们看下3个分区表都是NTFS格式,我们在winhex中填入NTFS的编码07,并在分区表结尾输入结束标志:55AA
3、查看第一个分区表大小
4、拷贝第一分区表大小到原始分区表
5、查看分区的起始扇区位置,并填写到原始分区
6、在原始分区输入扇区起始位置
7、我们在到磁盘管理中查看,发现第一分区表已经成功恢复,同理恢复后面的2个分区表
如何利用winhex处理磁盘未格式化?
1、用winhex来回复分区中的数据。?1.翻开winhex,然后点击“东西”----“翻开磁盘”,挑选“物理磁盘”中的毛病盘。翻开以后咱们 就可以可能到分区中的信息了。
2、点击右上方的黑色小箭头呈现下拉菜单,可以看到有毛病的 分区和其他正常分区显现是不一样的。毛病分区显现“分区X XXGB ?/"为何会呈现“?”呢 ,就是因为该分区引发动扇区犯错导致winhex无法正常辨认。
3、每个分区都有自个的备份发动扇区,所以咱们就用备份来康复。将右侧滚动条拉到最下边,跳到该分区的最终一个扇区,咱们看到满是00,这是每个分区都有的保存扇区。
4、ntfs发动扇区最显着的标志即是“EB 52”,经过搜索来找到它,点击搜索图标,输入下面的值
5、找到了备份发动扇区,把鼠标指针移到“EB 52"前面点右键选“选块开端”,在移到该扇区右下脚 “55 AA”后边右键挑选“选块完毕”看到该扇区被悉数选定,再右键“修改”-----“仿制选块”中的“规范”
6、再次点击右边黑色箭头挑选“发动扇区”,将鼠标移到该扇区最左上方点右键挑选“剪贴板数据”---“写入”,这时winhex提示“此操作会损坏该磁盘类容”点击持续。
7、现在完成了记得点保留哦。