winhex脚本的编写方法
winhex教程

winhex教程WinHex是一款功能强大的十六进制编辑器,主要用于处理二进制文件和磁盘。
它可以帮助用户查看和编辑十六进制数据,分析磁盘、文件系统和媒体等问题。
下面是一个简单的WinHex教程。
首先,下载和安装WinHex软件。
你可以从官方网站或其他可信的源下载WinHex的安装包。
下载完后,双击打开安装包并按照指示进行安装。
启动WinHex软件后,你会看到一个初始界面。
在菜单栏上,你可以看到一系列选项和功能。
现在,我们将介绍一些基本的操作:1. 打开文件:点击“文件”菜单,选择“打开”选项。
然后,浏览到你想要打开的文件,选择它并点击“确定”按钮。
这样,你就可以在WinHex中查看这个文件的十六进制数据了。
2. 编辑数据:在WinHex中,你可以直接在编辑窗口中修改数据。
选中你想要修改的字节或字节块,然后用键盘上的相应键输入新的数值。
当你完成修改后,记得保存你的更改。
3. 查找和替换:点击“搜索”菜单,选择“查找和替换”选项。
在弹出的对话框中,输入你要查找的十六进制值或文本,并选择搜索的模式(十六进制、文本等)。
你还可以选择是否只在选定区域内搜索,以及是否区分大小写等选项。
4. 分析文件:WinHex还可以帮助你分析文件的结构和特征。
通过点击“工具”菜单,你可以访问各种工具,如磁盘分析工具、文件浏览器和文件恢复工具等。
这些工具可以帮助你深入了解文件的组成和特点,并帮助你解决问题。
5. 导出数据:如果你想将WinHex中的数据导出到其他程序中使用,可以点击“文件”菜单,选择“导出”的选项。
在弹出的对话框中,选择数据导出的格式和目标路径,然后点击“确定”按钮。
以上就是一个简单的WinHex教程,介绍了一些基本的操作和功能。
WinHex拥有众多高级功能,如数据恢复、数据分析和数据安全等,可以帮助用户处理复杂的二进制数据和磁盘问题。
希望这篇教程能对你有所帮助。
WinHEX编辑软件的使用

6、磁盘清理功能,彻底清除指定磁盘中的所有数据
7、练习WinHEX的其他功能
八、实训(验)主要步骤、结果分析、小结
10
总Hale Waihona Puke 100七、实训(验)主要内容:
1、安装WinHEX软件
2、在D盘建立一个文本文件,文件名为X-Ways.txt,输入内容。在WinHEX中查看文本内容,并直接更改十六进制编码
3、对X-Ways.txt文件进行数据变换加密(采用XOR运算)
4、彻底删除X-Ways.txt文件,用WinHEX恢复被误删除的文件
实训任务单
班级:_______学号:_________姓名:_________实训日期:_________
项目名称
WinHEX编辑软件的使用
实训学时
2
课程名称
信息安全技术
训练地点
机房
方式
练习
一、训练对象(系部、专业):08计算机1、2班
二、训练目的:1、用WinHEX软件查看磁盘文件的十六进制编码
2、利用WinHEX实现文件的简单数学变换
五、教学组织要求(编组要求、指导教师数及指导要求等):
1)指导教师:1人
2)指导要求:教师首先分析讲解,然后学生动手操作,指导老师随堂指导。
六、考核标准
评分内容
评分标准
配分
成绩
扣分
备注
专业技术应用
专业技术运用熟练,能按要求完成实训项目
70
创新性
综合运用多种技术、工具完成实训
20
个人态度
态度端正、积极、主动地参加实训
3、利用WinHEX恢复被误删除的文件
winhex教程WinHex是一款十六进制编辑器和磁盘编辑器,它带有许多高级

winhex教程WinHex是一款十六进制编辑器和磁盘编辑器,它带有许多高级WinHex是一款十六进制编辑器和磁盘编辑器,它带有许多高级功能,也被广泛应用于数字证据分析、数据恢复和计算机取证等领域。
一些WinHex的基本使用教程:1. 打开文件:打开WinHex软件,选择File > Open,选择需要编辑的文件。
2. 显示文件内容:在菜单栏中,选择View > Data,即可显示文件内容。
可以在十六进制视图和ASCII视图之间切换。
3. 编辑文件:WinHex可以进行磁盘和文件的编辑和修复。
在编辑之前,可以选择Protect or Read-Only Mode以防止意外更改。
在编辑时,可以通过Insert特定字符、Overwrite字符以及Pasting ASCII or Unicode文本等方式进行文件修改,改动后可以选择Save选项。
4. 查找和替换:可以选择Search&Replace菜单项,然后输入搜索词并选择选项,如IgnoreCase、Whole Words Only等等。
可以通过Replace All/Replace One进行替换操作。
5. 分析文件:WinHex提供了许多分析文件的工具,如查找ASCII 串、统计字符、计算哈希值、数据恢复等等功能。
这些可以通过菜单栏的Analyze选项实现。
6. 磁盘操作:WinHex可以对磁盘进行读取、写入和恢复等操作。
在菜单栏中,选择Extras > Disk Tools,即可进行各种磁盘操作。
以上是WinHex的基本使用方法,需要注意的是,WinHex是一款功能强大的软件,需要谨慎使用防止意外操作。
同时,建议在使用前先阅读其使用手册,掌握更多信息。
WINHEX的数据结构模板学习

WINHEX的数据结构模板学习数据结构, WINHEX, 模板, 学习老外总结,国内热心网友翻译的.WINHEX的结构模板的语法实际上和脚本大同小异一、模板概述定制数据结构模板,这当然比直接分析16进制的原始数据要方便得多,而且不容易出错。
你编辑好数据结构模板保存后,数据模板就生效了。
这样你就可以分析来自硬盘、内存等一些数据,这些数据将套用你数据结构模板来显示数据了。
例如:这样你可以定制一个模板来查阅数据库记录。
模板本身是个带扩展名TPL的文本文件。
WINHEX提供的模板编辑器可以让您写模板的定义,并提供语法检查. 模板的定义,主要包含变量声明,类似于源代码的编程语言. 支持的数据类型包括所有的共同整数,浮点和布尔类型,日期类型, hex值,二进制,文字, 串型. 数组变量和一组变量,都可以使用.能自由移动,前移和后移的数据,使得使用模板的特别灵活:1.同一个变量可以有多种用途2.你不关心的数据部分可以跳过模板管理器列出所有的模板的winhex目录,包含模板定义、标题、附加说明、文件名,点击应用按钮,显示模板选用模板定义的数据,在当前编辑窗在目前的数据解释. 你也可以创造一个新的模板定义,删除或编辑一个现有winhex提供的几个模板样例.二、模板定义模板由头部和主体两部分组成,模板头部定义的格式如下:template "title" //模板标题[description "description"] //说明[applies_to (file/disk/RAM)] //应用到文件、磁盘还是内存[fixed_start offset] //固定的起始偏移值[sector-aligned] //扇区对齐[requires offset "hex values"]//要求偏移的HEX值相等[big-endian] //高字节优先[hexadecimal/octal][read-only] //只读[multiple [fixed overall size]]// Put any general comments to the template here.beginvariable declarations ...end中括号代表是该项是可选的. 表达式里面含有空格的话就要用双引号引起来. 评论会出现在模板的定义. 字继双斜线被忽略的解析器.注释可以写在任何地方,在注释前要“//”号。
WINHEX教程图

巧用WinHex找回消失的分区数据由于我是个对磁盘空间过敏的人,每当磁盘空间少到几百兆,就会想办法删掉不用的软件,时间一长,系统会变的千疮百孔,直到有一天实在无法忍受,决定重装系统,麻烦极了。
与是想用Guest做个系统映象,没想到人世间最痛苦的事情发生了。
我有两个物理硬盘,主盘分了两个区,分别为一个C盘,一个E盘,所以把Guest这个软件放到第二个硬盘D盘的根目录下。
重起进入DOS进入到软件的画面,不管三七二十一,玩玩再说。
好奇的我直接选择第一项功能: To Disk,经过乱七八糟的英文提示后,毅然点了OK按扭,接下来两个硬盘开始狂响,我突然意识到事情不对,强行重起动后,打开资源管理器,点下D盘,发现已经空白一片了。
天哪!我的软件!我的游戏!我的一切!我浑身冒汗,好像做梦一样,早知道……咦,对了!好像WinHex有打开磁盘的功能,只要知道一些文件的开头标记,兴许能恢复一些文件。
小提示:硬盘修复是一个高危险的操作,在/YingJian/200808/107.ht m一文中介绍了硬盘主引导记录等多种不同故障的处理方法,希望对大家有所参考。
幸好WinHex装到C盘上了,启动后选“OpenDisk”打开D盘,在WinHex子窗口的表格内共有三个列,最左边的是偏移值,相当于行号;中间显示的是16进制代码,右边是每组代码对应显示的文字。
因为无论是那种格式的文件开头都会有特定的标记,所以只要知道对应的代码就能知到文件的类型。
由于我D盘上大部分是RAR压缩格式的文件,所以我先用WinRar创建一个RAR文件,再用WinHex打开,在右边开头显示出Rar!字样(图1),对应的16进制的值就是“52 61 72 21”,一同选中后按“Ctrl+Shift+C”把这串代码复制到剪贴板,然后切换到刚才打开D盘的窗口,依次选择“Search >> Find Hex Values”,按“Ctrl+V”或在输入框内点右键选择“粘贴”,确认无误后点“OK”开始搜索。
自己制作winhex的模板

⾃⼰制作winhex的模板 winhex有很多的官⽅模板,可以在⽹上下载(后缀tpl)并放⾄它的安装⽬录,即可使⽤。
不过要是⾃⼰能⾃⼰制作,这才好玩,不是么?! 打开模板管理器,可以选中其中⼀个模板,下⾯有应⽤,有编辑,你点开编辑按钮,就可以看到对应的模板源码。
⽽你点开那个新建按钮,就可以⾃⼰写模板了,最后保存到安装⽬录即可。
提醒⼀点,我是在记事本下写好粘贴到新建后那个⾯板上的,因为我发现有好些符号它不⽀持,⽐如下划线、引号等,maybe是我⾃⼰没设置的原因,不过,这不是重点,略过。
写好后,那个⾯板下有检查语法的按钮,通过它可判断你的代码是否语法正确。
闲话不多说,下⾯,我来讲解下模板编程的语法: 模板头的常⽤关键字: 1.template:声明模板的名字 eg:template "模板1" 2.description:描述参数,描述这个模板的⽤途。
(保存好后,你可以在模板管理器⾥看到你⾃定义的模板的名字,描述等信息。
)eg:description "这个模板是⽤来。
" 3.applies_to:参数可以是file/disk/RAM。
指定该模板的适⽤对象时⽂件、磁盘还是内存。
eg:applies_to disk 4.fixed_start offset:模板的默认起始偏移量取决于光标停留的位置,⽽这个关键字是来指定偏移量起始位置。
eg:fixed_start 0x040 5.sector-aligned:作⽤是指定模板从当前扇区的偏移0位置运⾏。
⽆参数。
6.requires offset:匹配数据,若发现指定偏移量的位置的数据不匹配,就会报错。
注意:这⾥的偏移量是相对于模板起始偏移量计算的。
eg:requires 0x1fe "55aa" 7.big-endian/little-endian:规定读取的字节顺序,也就是平⽇说的⼩端机、⼤端机的区别,内存的数据存储⽅向不⼀样。
winhex脚本命令教程--中文版

winhex脚本命令教程--中文版<转>2009-06-09 18:09脚本命令适用的环境比较多。
脚本文件中的注释以为双斜杠开头。
脚本支持的最长255方是十六进制,文本字符串(甚至10进制数值)都可以作为参数,你可以使用引号强数。
如果文本或者变量名中存在空格,则引号是必须的,在引号中的所有字符都被被识当在winhex中使用数学表达式的时候,可以引用数学表达式,但是必须用括号括起来空格。
同样可以在数学表达式中应用数字变量。
支持的操作有,加法(+),减法(-),乘法(*),整除(/),模除(%),逻辑运算以及XOR(^)。
以下是有效的数学表达式:(5*2+1), (MyVar1/(MyVar2+4)), or (-MyVar)。
以下是目前支持的脚本命令的详细描述以及使用实例。
Create "D:\My File.txt" 1000创建一个1000字节的新文件,如果已经存在同名文件,则将其覆盖。
Open "D:\My File.txt"Open "D:\*.txt"打开指定格式的文件,如果通配符为“?”则winhex会让用户选择要打开的文件。
Open C:Open D:打开指定的逻辑驱动器。
如果通配符为“:?”则winhex会让用户选择要打开的逻辑驱动器Open 80hOpen 81hOpen 9Eh打开指定的物理介质。
软盘的为00h,硬盘与u盘为80h,光盘为9Eh。
可以增加第二个参数来设定文件或者介质的编辑模式(“in-place”或者“read-only”)CreateBackup为活动文件的当前状态创建WHX备份。
CreateBackupEx 0 100000 650 true "F:\My backup.whx"备份当前活动磁盘中从0扇区到100000扇区的数据。
备份文件将自动分割成650M大输出文件的路径以及名称作为最后的参数写入。
winhex脚本命令教程--中文版

脚本命令适用的环境比较多。
脚本文件中的注释以为双斜杠开头。
脚本支持的最长255字符的参数。
有疑点的地方是十六进制,文本字符串(甚至10进制数值)都可以作为参数,你可以使用引号强制转换数字参数为文本参数。
如果文本或者变量名中存在空格,则引号是必须的,在引号中的所有字符都被被识别成一个参数而存在。
当在winhex中使用数学表达式的时候,可以引用数学表达式,但是必须用括号括起来。
在数学表达式中不能有空格。
同样可以在数学表达式中应用数字变量。
支持的操作有,加法(+),减法(-),乘法(*),整除(/),模除(%),逻辑运算符AND(&),OR(|),以及XOR(^)。
以下是有效的数学表达式:(5*2+1), (MyV ar1/(MyV ar2+4)), or (-MyV ar)。
以下是目前支持的脚本命令的详细描述以及使用实例。
Create "D:\My File.txt" 1000创建一个1000字节的新文件,如果已经存在同名文件,则将其覆盖。
Open "D:\My File.txt"Open "D:\*.txt"打开指定格式的文件,如果通配符为“?”则winhex会让用户选择要打开的文件。
Open C:Open D:打开指定的逻辑驱动器。
如果通配符为“:?”则winhex会让用户选择要打开的逻辑驱动器或者磁盘。
Open 80hOpen 81hOpen 9Eh打开指定的物理介质。
软盘的为00h,硬盘与u盘为80h,光盘为9Eh。
可以增加第二个参数来设定文件或者介质的编辑模式(“in-place”或者“read-only”)CreateBackup为活动文件的当前状态创建WHX备份。
CreateBackupEx 0 100000 650 true "F:\My backup.whx"备份当前活动磁盘中从0扇区到100000扇区的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章winnhex 常用关键字
关键字用法解释open open :? open d: 用于打开磁盘或逻辑分区
goto goto (0x000或标签、已声明的变量) 跳转的位置XXX或标签处
move move 10 and move -10 向前或向后移动字节
read read x1 2 读取2个字节到变量x1、变量不存在会自动创建
write write xx 写入xx
save save 保存
exit exit 中断脚本关闭winhex
assign assign xx 声明变量xx注:xx不能为脚本关键字
blokc block1 block2 and block x2 x3 选块或选块变量的地址
copy copy 复制copyintonewfile copyintonowfile +保存路径和属性复制到新的文件并指定路径属性存放
find find +条件+ [关键字down up word blockonly等] 可按要求查找指定的条件
iffound iffound 如果发现则执行下面的命令
else else 否则之下后面的语句
endif endif 和iffound组合语句有iffound必须有endif
ifequal ifequal xx xx 比较两个数值、变量、16进制如果相同则只之下下面的语句反之不执行
ifgreater ifgreater xx xx 当一个参数大于第二个参数执行下面语句反之不执行
label label xx 建立一个xx标签jumpto jumpto xx 跳转到xx标签处继续执行脚本
forallobjdo forallobjdo 在打开所有的文件或磁盘中运行脚本
getuserinput getuserinput xx "11111" 用户可输入ASCII 或HEX到变量xx
inc inc xx 变量xx每运行一次变量xx+1
messagebox messagebox "xx" 显示“xx”对话框
currentpos currentpos 表示当前文件或磁盘偏移地址
getsize getsize 表示大小unlimited unlimited 无限
以上只是一部分的脚本关键字、更多查阅相关资料注:winhex脚本中不区分大小写
第二章winhex脚本编写
简单的脚本恢复NTFS分区DBR扇区
open :? //打开故障分区(自己选择)
assign w1 getsize //声明w1的值为最大(也就当前打开分区的总字节)
goto (w1-512) //跳转到总字节数-512字节的位置(NTFS 的备份DBR位置最后一个扇区)
//getsize为最大所以我们要-512字节才是DBR 备份的开始位置
read w2 512 //读取512个字节到变量w2 把NTFS备份DBR 读入到变量w2
goto 0x000 //跳转到开始位置
write w2 //写入变量w2(把刚才NTFS备份DBR的信息写入到0号扇区)
save //保存
大家可以破坏一个NTFS分区的DBR 然后复制以上内容进去运行脚本看看是否有效
注意:不要在存有重要数据的分区内实验.
下面的脚本是某次监控录像恢复的简单脚本实例讲解:
此脚本编写的非常简单但是文件恢复的效果非常好
assign m1 1 //声明变量m1的值为1
goto 0xDB178F83 //跳转到DB178F83的偏移地址
{
find 0x7856341221436587 down //向下查找十六进制字符7856341221436587 iffound //如果发现十六进制字符7856341221436587 assign m2 currentpos //把当前光标地址记录到变量m2当中
move 1310719 //向前跳转1310719字节
assign m3 currentpos //把当前的光标地址记录到变量m3中
block m2 m3 //选块m2 m3 的区域
endif //结束if语句
inc m1 //脚本每运行一次m1的值+1
copyintonewfile "D:\11\a+m1+.dat" //复制选块到新的文件-并指定路径和文件属性
}[unlimited] //脚本的运行次数(无限)
以上脚本编写的很简单但比较使用、在以上脚本中你可以更改几个字符也可以提取其他格式的文件'
当脚本在提取文件时经常会提取出大量的垃圾文件也就是非需要提取的文件、此时我们可以根据文件
特征曾加一个判断条件例如:
文件的某一个位置是特定字符、可以用ifequal 来进行对比是否符合条件、如果不符合那就跳过继续执行脚本
脚本举例:
假设文件头为11111111 在文件的第2个扇区的开始位置固定为112233 此时我们就可以加一个条件去更准确的判断
assign n1 112233 //声明变量n1的值为112233
find 0x11111111 down //向下查找11111111文件头(假设)
iffound //如果发下11111111
assign n3 currentpos //把当前光标地址记录到变量n3中
move 512 //向前跳转512字节(注:假设2号扇区的前3个字节固定为112233)
read n4 3 //读取3个字节记录到变量n4
ifequal n1 n4 //对比一下n1和n4是否相同、如果是在执行下面的语句否则不执行
winhex的脚本远远不止这些大家可以仔细的去研究和实验、可以编写去更好的脚本
记得在恢复一次婚礼录像是MOV视频被删除、但未写入数据,软件恢复后97%以上无法播放
在那次恢复过程中脚本用了3个copyintonewfile 一次提取3个文件然后手工再把重组3个文件合成一个mov视频、数据才得以恢复
之前已为copyintonewfile脚本只可以使用一次、但是经常尝试居然可以使用多次、所以好的脚本是调试出来的、当写好一个脚本后
可以进行几次实验只要满意在运行恢复数据.
winhex的脚本虽然强大也有一定的局限性、但是针对数据恢复而言非常实用、
如果你去学习强大的编程语言如C++、delphi等那可能需要几个月甚至几年才可以编写软件、而winhex 的脚本可以在短短几分钟内完成
所以相对与编程而言winhex 的脚本更加实用、虽然有一定的局限性.
郑州数据恢复诚诺数据恢复总结。