您的位置:首页 > 其它

winhex脚本命令

2009-06-26 23:08 591 查看
[align=left]winhex脚本命令教程--中文版 [/align]
[align=left]脚本命令适用的环境比较多。脚本文件中的注释以为双斜杠开头。脚本支持的最长255字符的参数。有疑点的地方是十六进制,文[/align]
[align=left]本字符串(甚至10进制数值)都可以作为参数,你可以使用引号强制转换数字参数为文本参数。如果文本或者变量名中存在空格,[/align]
[align=left]则引号是必须的,在引号中的所有字符都被被识别成一个参数而存在。[/align]
[align=left]当在winhex中使用数学表达式的时候,可以引用数学表达式,但是必须用括号括起来。在数学表达式中不能有空格。同样可以在数[/align]
[align=left]学表达式中应用数字变量。支持的操作有,加法(+),减法(-),乘法(*),整除(/),模除(%),逻辑运算符AND(&),[/align]
[align=left]OR(|),以及XOR(^)。以下是有效的数学表达式:(5*2+1), (MyVar1/(MyVar2+4)), or (-MyVar)。[/align]
[align=left]以下是目前支持的脚本命令的详细描述以及使用实例。[/align]
[align=left]Create "D:\My File.txt" 1000
创建一个1000字节的新文件,如果已经存在同名文件,则将其覆盖。[/align]
[align=left]Open "D:\My File.txt"
Open "D:\*.txt"
打开指定格式的文件,如果通配符为“?”则winhex会让用户选择要打开的文件。[/align]
[align=left]Open C:
Open D:
打开指定的逻辑驱动器。如果通配符为“:?”则winhex会让用户选择要打开的逻辑驱动器或者磁盘。[/align]
[align=left]Open 80h
Open 81h
Open 9Eh
打开指定的物理介质。软盘的为00h,硬盘与u盘为80h,光盘为9Eh。
可以增加第二个参数来设定文件或者介质的编辑模式(“in-place”或者“read-only”)[/align]
[align=left]CreateBackup
为活动文件的当前状态创建WHX备份。[/align]
[align=left]CreateBackupEx 0 100000 650 true "F:\My backup.whx"
备份当前活动磁盘中从0扇区到100000扇区的数据。备份文件将自动分割成650M大小。并且选择了压缩选项。输出文件的路径以及[/align]
[align=left]名称作为最后的参数写入。
如果备份文件不需要分割,则第三个参数的数值该为0即可。如果不启动压缩功能则将“true”改为“false”。如果需要自动分配[/align]
[align=left]文件名以及文件路径则最后的参数表示为“""”即可。[/align]
[align=left]Goto 0x128
Goto MyVariable
将光标的位置移动到偏移量0x128位置(16进制表示)。同样也可以用数字变量(最长8字节)来定义光标移动的位置。[/align]
[align=left]Move -100
将当前光标的位置向后移动100字节(16进制)。[/align]
[align=left]Write "Test"
Write 0x0D0A
Write MyVariable
在光标当前位置(以覆盖模式)写入ASCII字符“Test”或者两个字节的16进制数“0D0A”。这里同样可以写入数字变量中的值。[/align]
[align=left]同时将光标移动到被覆盖部分的后面。当到达文件的结尾时,将在文件尾部添加空字节以完成操作。下一个写命令将不会在文件尾[/align]
[align=left]巴[/align]
[align=left]Write2
和“Write”的功能类似,当时当到达文件结尾的时候,不会在文件添加空字节。So it is
not safe to assume that Write2 always moves the current position forward by the number of bytes
written.[/align]
[align=left]Insert "Test"
功能与“Write”类似,但是在“insert”模式只能应用于文件。[/align]
[align=left]Read MyVariable 10
从当前位置读入10个字节的数据到“MyVariable”变量中。如果变量不存在,它将会创建一个。winhex同时可以支持48个不同的变[/align]
[align=left]量。另一个创建变量的命令是“Assign”。[/align]
[align=left]ReadLn MyVariable
从当前位置读入一整行的数据到“MyVariable”变量中直到遇到换行符。如果变量已经存在了,则变量的大小将会被从新调整。[/align]
[align=left]Close
不保存的关闭当前活动窗口。[/align]
[align=left]CloseAll
不保存的关闭所有窗口。[/align]
[align=left]Save
保存当前活动窗口中打开的文件或磁盘的修改。[/align]
[align=left]SaveAs "C:\New Name.txt"
将当前活动窗口打开的文件另存为指定目录下的文件。如果通配符为“?”,则winhex会让用户自己选择保存的路径以及文件名。[/align]
[align=left]SaveAll
保存所有窗口中修改。[/align]
[align=left]Terminate
中断脚本的执行。[/align]
[align=left]Exit
中断脚本的执行并且关闭winhex。[/align]
[align=left]ExitIfNoFilesOpen
如果在winhex中没有打开的文件将终止脚本文件的执行。[/align]
[align=left]Block 100 200
Block "My Variable 1" "My Variable 2"
在当前活动窗口中定义一个偏移量从100到200的选块(10进制)。下一行命令表示定义从变量"My Variable 1"到"My Variable 2"[/align]
[align=left]的选块(最长8字节)[/align]
[align=left]Block1 0x100
在偏移量0x100处定义一个字节的选块。同样可以使用变量。[/align]
[align=left]Block2 0x200
定义一个从开头到偏移量0x200部分的选块。同样可以使用变量。[/align]
[align=left]Copy
将当前选块复制进剪切板中。如果没有定义选块,其功能和编辑菜单中的复制命令相同。[/align]
[align=left]Cut
将当前选块中的文件剪切到剪切板中。[/align]
[align=left]Remove
将当前选块中的数据从文件中移除。[/align]
[align=left]CopyIntoNewFile "D:\New File.dat"
CopyIntoNewFile "D:\File +MyVariable+.dat"
将当前选块中的数据复制进指定的新文件,而不复制进剪切板。如果没有定义选块,其功能和编辑菜单中的复制命令相同。同样可[/align]
[align=left]以复制磁盘扇区中的数据作为一个新文件。新建的文件不会自动在winhex的编辑窗口中打开。可以在“+”之间加入变量,变量名[/align]
[align=left]将被解释为不大于2^24(16M)的整数。通常在循环应用以及文件恢复中比较有用。[/align]
[align=left]Paste
将剪切板中的数据粘贴入文件中,并且不改变光标当前位置。[/align]
[align=left]WriteClipboard
将剪切板中的数据写入文件或磁盘扇的当前位置中,不改变光标当前位置,并且覆盖从当前光标所在位置以后的数据。[/align]
[align=left]Convert Param1 Param2
将当前活动文件中的数据从一种格式转换成另一种格式。有效的参数是ANSI,IBM,EBCDIC,Binary,HexASCII,IntelHex,[/align]
[align=left]MotorolaS, Base64, UUCode, LowerCase, 以及UpperCase,与转换菜单中的转换菜单命令功能相同。[/align]
[align=left]AESEncrypt "My Password"
使用AES加密当前活动文件或者磁盘,或其选块,使用指定的密钥(最高32位)。[/align]
[align=left]AESDecrypt "My Password"
解密当前活动文件或磁盘。[/align]
[align=left]Find "John" [MatchCase MatchWord Down Up BlockOnly SaveAllPos Unicode Wildcards]
Find 0x1234 [Down Up BlockOnly SaveAllPos Wildcards]
分别搜索当前活动窗口中名为“john”的字符串或16进制值数0x1234,并且在第一个搜索到的地方停下来。其他的参数是可选的。[/align]
[align=left]默认的winhex搜索整个文件或磁盘。其他的可选参数功能和通常的winhex搜索选项相同。[/align]
[align=left]ReplaceAll "Jon" "Don" [MatchCase MatchWord Down Up BlockOnly Unicode Wildcards]
ReplaceAll 0x0A 0x0D0A [Down Up BlockOnly Wildcards]
在当前活动窗口中使用其他的值替换所有存在上述字符串或16进制数值的地方。在“in-place”模式下只能应用与磁盘。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: