- 专业度
- 25
- 元宝
- 1460
- 金钱
- 8
- 最后登录
- 2014-9-5
- 注册时间
- 2011-12-9
- 精华
- 0
- 积分
- 1633
- 阅读权限
- 70
- 帖子
- 115
 
TA的每日心情 | 无聊 2014-9-5 11:46:27 |
---|
签到天数: 30 天 [LV.5]常住居民I - 金钱
- 8
- 元宝
- 1460
- 专业度
- 25
|
本帖最后由 军达成技术支持1 于 2015-10-9 00:31 编辑
在当前活动窗口中使用其他的值替换所有存在上述字符串或16进制数值的地方。在“in-place”模式下只能应用与磁盘。
IfFound
如果发现了值则执行下面的命令。
IfEqual MyVariable "Hello World"
IfEqual 0x12345678 MyVariable
IfEqual MyVariable 1000
IfEqual MyVariable MyOtherVariable
IfEqual MyVariable (10*MyOtherVariable)
比较两个整数值(其中每个值可以是常量,整数变量或者数学表达式)或者两个变量,ASCII字符串,或16进制数值(2进制模式) 。比较两个对象的2进制数值长度,如果不相同的话则返回结果为false。只有返回值为true时,下面的命令才会被执行。if条件不可以镶套使用。
IfGreater MyVariable "Hello World"
IfGreater 0x12345678 MyVariable
IfGreater MyVariable 1000
IfGreater MyVariable MyOtherVariable
IfGreater 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文件删除。
InitFreeSpace
InitSlackSpace
使用当前初始化设置清理当前逻辑驱动器中的所有自由空间或松散空间,InitSlackSpace将驱动器的模式临时转换为“in-place”
模式,以保存未保存的修改。
InitMFTRecords
使用当前初始化设置在当前NTFS格式的逻辑驱动器中清理未使用的MFT FILE记录。对于其他的文件系统无效。修改立即就会写入硬
盘中。
Assign MyVariable 12345
Assign MyVariable 0x0D0A
Assign MyVariable "I like WinHex"
Assign 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 MyInt
IntToStr MyStr 12345
将第一个变量中的ASCII文本转换成整数并保存到第二个变量中。
StrToInt MyInt MyStr
将第一个变量中的整数转换成ASCII文本并保存到第二个变量中。
GetClusterAlloc MyStr
在逻辑卷中,找回哪个文件被储存在当前簇中的文本描述,然后将描述保存到指定的变量中。GetClusterAllocEx IntVar
在逻辑卷中,找回一个整数值指示簇是否被分配,1或者非0,表示该簇已被分配。并且将描述保存在指定变量中。
GetClusterSize IntVar
返回逻辑卷中簇的大小,并将数值保存到指定的变量中。
InterpretImageAsDisk
将磁盘镜像或证据文件作为原始物理磁盘或分区一样对待。需要specialist或forensic许可。CalcHash HashType MyVariable
CalcHashEx HashType MyVariable
与工具菜单中的hash命令功能相同并且将变量储存在指定变量中(如果变量不存在,则会自动创建)。HashType参数必须为以下类
型中的一种:CS8, CS16, CS32, CS64, CRC16, CRC32, MD5, SHA-1, SHA-256, PSCHF。CalcHashEx命令将在windows窗口中显示
hash值。
MessageBox "Caution"
显示信息对话框,并且提供ok和cancel两个按钮。按下cancel按脚本本。
ExecuteScript "ScriptName"
在脚本的当前运行处运行另一个脚本。调用其他外部脚本可以镶套使用。当被调用的脚本执行完成以后,脚本继续执行下面的命令
。这个特征可以帮助用户清楚的了解脚本的结构。
Turbo On
Turbo Off
管理道模式开关。
Debug
用户可以利用该命令确定脚本中的每一条命令都是否有效。
UseLogFile
错误信息被写入当前文件夹下的日志文件“scripting.log”。这些信息不会显示在信息对话框中。非常有用,特别在运行的脚本
主机无法远程连接的时候。
CurrentPos
GetSize
unlimited
以上三个是 winhex脚本中的关键字,可以被使用在应用数字参数的地方。在脚本执行过程中,CurrentPos表示当前活动文件或者磁 盘窗口中光标的偏移地址,GetSize表示了它的大小。unlimited实际上表示的是整数2,147,483,647。
|
|