winhex脚本命令教程--中文版.doc_第1页
winhex脚本命令教程--中文版.doc_第2页
winhex脚本命令教程--中文版.doc_第3页
winhex脚本命令教程--中文版.doc_第4页
winhex脚本命令教程--中文版.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

winhex脚本命令教程-中文版2009-06-09 18:09脚本命令适用的环境比较多。脚本文件中的注释以为双斜杠开头。脚本支持的最长255字符的参数。有疑点的地方是十六进制,文本字符串(甚至10进制数值)都可以作为参数,你可以使用引号强制转换数字参数为文本参数。如果文本或者变量名中存在空格,则引号是必须的,在引号中的所有字符都被被识别成一个参数而存在。当在winhex中使用数学表达式的时候,可以引用数学表达式,但是必须用括号括起来。在数学表达式中不能有空格。同样可以在数学表达式中应用数字变量。支持的操作有,加法(+),减法(-),乘法(*),整除(/),模除(%),逻辑运算符AND(&),OR(|),以及XOR()。以下是有效的数学表达式:(5*2+1), (MyVar1/(MyVar2+4), or (-MyVar)。以下是目前支持的脚本命令的详细描述以及使用实例。Create D:My File.txt 1000创建一个1000字节的新文件,如果已经存在同名文件,则将其覆盖。Open D:My File.txtOpen 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大小。并且选择了压缩选项。输出文件的路径以及名称作为最后的参数写入。如果备份文件不需要分割,则第三个参数的数值该为0即可。如果不启动压缩功能则将“true”改为“false”。如果需要自动分配文件名以及文件路径则最后的参数表示为“”即可。Goto 0x128Goto MyVariable将光标的位置移动到偏移量0x128位置(16进制表示)。同样也可以用数字变量(最长8字节)来定义光标移动的位置。Move -100将当前光标的位置向后移动100字节(16进制)。Write TestWrite 0x0D0AWrite MyVariable在光标当前位置(以覆盖模式)写入ASCII字符“Test”或者两个字节的16进制数“0D0A”。这里同样可以写入数字变量中的值。同时将光标移动到被覆盖部分的后面。当到达文件的结尾时,将在文件尾部添加空字节以完成操作。下一个写命令将不会在文件尾巴Write2和“Write”的功能类似,当时当到达文件结尾的时候,不会在文件添加空字节。So it is not safe to assume that Write2 always moves the current position forward by the number of byteswritten.Insert Test功能与“Write”类似,但是在“insert”模式只能应用于文件。Read MyVariable 10从当前位置读入10个字节的数据到“MyVariable”变量中。如果变量不存在,它将会创建一个。winhex同时可以支持48个不同的变量。另一个创建变量的命令是“Assign”。ReadLn MyVariable从当前位置读入一整行的数据到“MyVariable”变量中直到遇到换行符。如果变量已经存在了,则变量的大小将会被从新调整。Close不保存的关闭当前活动窗口。CloseAll不保存的关闭所有窗口。Save保存当前活动窗口中打开的文件或磁盘的修改。SaveAs C:New Name.txt将当前活动窗口打开的文件另存为指定目录下的文件。如果通配符为“?”,则winhex会让用户自己选择保存的路径以及文件名。SaveAll保存所有窗口中修改。Terminate中断脚本的执行。Exit中断脚本的执行并且关闭winhex。ExitIfNoFilesOpen如果在winhex中没有打开的文件将终止脚本文件的执行。Block 100 200Block My Variable 1 My Variable 2在当前活动窗口中定义一个偏移量从100到200的选块(10进制)。下一行命令表示定义从变量My Variable 1到My Variable 2的选块(最长8字节)Block1 0x100在偏移量0x100处定义一个字节的选块。同样可以使用变量。Block2 0x200定义一个从开头到偏移量0x200部分的选块。同样可以使用变量。Copy将当前选块复制进剪切板中。如果没有定义选块,其功能和编辑菜单中的复制命令相同。Cut将当前选块中的文件剪切到剪切板中。Remove将当前选块中的数据从文件中移除。CopyIntoNewFile D:New File.datCopyIntoNewFile D:File +MyVariable+.dat将当前选块中的数据复制进指定的新文件,而不复制进剪切板。如果没有定义选块,其功能和编辑菜单中的复制命令相同。同样可以复制磁盘扇区中的数据作为一个新文件。新建的文件不会自动在winhex的编辑窗口中打开。可以在“+”之间加入变量,变量名将被解释为不大于224(16M)的整数。通常在循环应用以及文件恢复中比较有用。Paste将剪切板中的数据粘贴入文件中,并且不改变光标当前位置。WriteClipboard将剪切板中的数据写入文件或磁盘扇的当前位置中,不改变光标当前位置,并且覆盖从当前光标所在位置以后的数据。Convert Param1 Param2将当前活动文件中的数据从一种格式转换成另一种格式。有效的参数是ANSI,IBM,EBCDIC,Binary,HexASCII,IntelHex,MotorolaS, Base64, UUCode, LowerCase, 以及UpperCase,与转换菜单中的转换菜单命令功能相同。AESEncrypt My Password使用AES加密当前活动文件或者磁盘,或其选块,使用指定的密钥(最高32位)。AESDecrypt My Password解密当前活动文件或磁盘。Find John MatchCase MatchWord Down Up BlockOnly SaveAllPos Unicode WildcardsFind 0x1234 Down Up BlockOnly SaveAllPos Wildcards分别搜索当前活动窗口中名为“john”的字符串或16进制值数0x1234,并且在第一个搜索到的地方停下来。其他的参数是可选的。默认的winhex搜索整个文件或磁盘。其他的可选参数功能和通常的winhex搜索选项相同。ReplaceAll Jon Don MatchCase MatchWord Down Up BlockOnly Unicode WildcardsReplaceAll 0x0A 0x0D0A Down Up BlockOnly Wildcards在当前活动窗口中使用其他的值替换所有存在上述字符串或16进制数值的地方。在“in-place”模式下只能应用与磁盘。IfFound如果发现了值则执行下面的命令。IfEqual MyVariable Hello WorldIfEqual 0x12345678 MyVariableIfEqual MyVariable 1000IfEqual MyVariable MyOtherVariableIfEqual MyVariable (10*MyOtherVariable)比较两个整数值(其中每个值可以是常量,整数变量或者数学表达式)或者两个变量,ASCII字符串,或16进制数值(2进制模式)。比较两个对象的2进制数值长度,如果不相同的话则返回结果为false。只有返回值为true时,下面的命令才会被执行。if条件不可以镶套使用。IfGreater MyVariable Hello WorldIfGreater 0x12345678 MyVariableIfGreater MyVariable 1000IfGreater MyVariable MyOtherVariableIfGreater MyVariable (10*MyOtherVariable)和IfEqual拥有相同的参数。第一个参数大于第二个参数,返回值为true,则下面的命令才能被执行。if条件不可以镶套使用。Else应用在IfFound或IfEqual之后。如果没有任何对象被搜索到或者比较的目标不相同,则执行else后面的代码。EndIf结束if条件命令执行(在IfFound或IfEqual之后)。.ExitLoop.退出循环。其后会有一个方括号来定义其循环次数,可以是变量也可以是关键字“unlimited”(无限循环)。winhex脚本中循环只能使用ExitLoop命令来退出。循环不可以镶套使用。举例: Write Loop 10 将输出“Loop”字符串10次。Label ContinueHere创建一个标签并命名为“ContinueHere”JumpTo ContinueHere脚本跳转到标签处继续执行.NextObj循环在所有窗口中进行切换“活动”窗口。如果有三个窗口被打开,并且窗口#3状态为活动窗口,则“NextObj”命令将会让窗口#1变为活动窗口。ForAllObjDo在ForAllObjDo与EndDo之间的脚本代码将在所有打开的文件或者磁盘中执行。CopyFile C:A.dat D:B.dat将C:A.dat文件中的内容复制到D:B.dat中。MoveFile C:A.dat D:B.dat将C:A.dat文件转移到D盘中并命名为D:B.dat。DeleteFile C:A.dat将C:A.dat文件删除。InitFreeSpaceInitSlackSpace使用当前初始化设置清理当前逻辑驱动器中的所有自由空间或松散空间,InitSlackSpace将驱动器的模式临时转换为“in-place”模式,以保存未保存的修改。InitMFTRecords使用当前初始化设置在当前NTFS格式的逻辑驱动器中清理未使用的MFT FILE记录。对于其他的文件系统无效。修改立即就会写入硬盘中。Assign MyVariable 12345Assign MyVariable 0x0D0AAssign MyVariable I like WinHexAssign MyVariable MyOtherVariable将整数,二进制数值,ASCII文本,或其他变量内容保存到“MyVariable”变量中。如果这个变量不存在,将会被自动创建。其他的创建变量的方法:Read,GetUserInput,InttoStr。同时可以允许有48个变量存在。Release MyVariable删除一个已存在的变量,因为winhex脚本中只支持48个变量存在,所以用过的不再使用变量我们可以将其删除以释放变量空间。GetUserInput MyVariable Please enter your name:在脚本运行期间,保存用户指定的ASCII文本或二进制数据(0x.)到变量“MyVariable”中。第二个参数给除了用户提示。如果变量不存在,它将重新创建一个。其他创建变量的方式:Assign,Read。GetUserInputI MyIntegerVariable Please enter your age:与GetUserInput功能相同,但是只允许整数型变量。Inc MyVariable将变量解释为整数(不大于8位)并且每运行一次变量自动加1。在循环中有用。Dec MyVariable将变量解释为整数(不大于8位)并且每运行一次变量自动减1。在循环中有用。IntToStr MyStr MyIntIntToStr MyStr 12345将第一个变量中的ASCII文本转换成整数并保存到第二个变量中。StrToInt MyInt MyStr将第一个变量中的整数转换成ASCII文本并保存到第二个变量中。GetClusterAlloc MyStr在逻辑卷中,找回哪个文件被储存在当前簇中的文本描述,然后将描述保存到指定的变量中。GetClusterAllocEx IntVar在逻辑卷中,找回一个整数值指示簇是否被分配,1或者非0,表示该簇已被分配。并且将描述保存在指定变量中。GetClusterSize IntVar返回逻辑卷中簇的大小,并将数值保存到指定的变量中。InterpretImageAsDisk将磁盘镜像或证据文件作为原始物理磁盘或分区一样对待。需要specialist或forensic许可。CalcHash HashType MyVariableCalcHashEx HashType MyVariable与工具菜单中的hash命令功能相同并且将变量储存在指定变量中(如果变量不存在,则会自动创建)。HashType参数必须为以下类型中的一种

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论