winhex腳本命令

winhex腳本命令教程--中文版

腳本命令適用的環境比較多。腳本文件中的註釋以爲雙斜槓開頭。腳本支持的最長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.txt"
Open "D:\*.txt"
打開指定格式的文件,如果通配符爲“?”winhex會讓用戶選擇要打開的文件。

Open C:
Open D:
打開指定的邏輯驅動器。如果通配符爲“:?”winhex會讓用戶選擇要打開的邏輯驅動器或者磁盤。

Open 80h
Open 81h
Open 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 0x128
Goto MyVariable
將光標的位置移動到偏移量0x128位置(16進製表示)。同樣也可以用數字變量(最長8字節)來定義光標移動的位置。

Move -100
將當前光標的位置向後移動100字節(16進制)。

Write "Test"
Write 0x0D0A
Write 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 bytes
written.

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 200
Block "My Variable 1" "My Variable 2"
在當前活動窗口中定義一個偏移量從100200的選塊(10進制)。下一行命令表示定義從變量"My Variable 1""My Variable 2"

的選塊(最長8字節)

Block1 0x100
在偏移量0x100處定義一個字節的選塊。同樣可以使用變量。

Block2 0x200
定義一個從開頭到偏移量0x200部分的選塊。同樣可以使用變量。

Copy
將當前選塊複製進剪切板中。如果沒有定義選塊,其功能和編輯菜單中的複製命令相同。

Cut
將當前選塊中的文件剪切到剪切板中。

Remove
將當前選塊中的數據從文件中移除。

CopyIntoNewFile "D:\New File.dat"
CopyIntoNewFile "D:\File +MyVariable+.dat"
將當前選塊中的數據複製進指定的新文件,而不復制進剪切板。如果沒有定義選塊,其功能和編輯菜單中的複製命令相同。同樣可

以複製磁盤扇區中的數據作爲一個新文件。新建的文件不會自動在winhex的編輯窗口中打開。可以在“+”之間加入變量,變量名

將被解釋爲不大於2^2416M)的整數。通常在循環應用以及文件恢復中比較有用。

Paste
將剪切板中的數據粘貼入文件中,並且不改變光標當前位置。

WriteClipboard
將剪切板中的數據寫入文件或磁盤扇的當前位置中,不改變光標當前位置,並且覆蓋從當前光標所在位置以後的數據。

Convert Param1 Param2
將當前活動文件中的數據從一種格式轉換成另一種格式。有效的參數是ANSIIBMEBCDICBinaryHexASCIIIntelHex

MotorolaS, Base64, UUCode, LowerCase, 以及UpperCase,與轉換菜單中的轉換菜單命令功能相同。

AESEncrypt "My Password"
使用AES加密當前活動文件或者磁盤,或其選塊,使用指定的密鑰(最高32位)。

AESDecrypt "My Password"
解密當前活動文件或磁盤。

Find "John" [MatchCase MatchWord Down Up BlockOnly SaveAllPos Unicode Wildcards]
Find 0x1234 [Down Up BlockOnly SaveAllPos Wildcards]
分別搜索當前活動窗口中名爲“john”的字符串或16進制值數0x1234,並且在第一個搜索到的地方停下來。其他的參數是可選的。

默認的winhex搜索整個文件或磁盤。其他的可選參數功能和通常的winhex搜索選項相同。

ReplaceAll "Jon" "Don" [MatchCase MatchWord Down Up BlockOnly Unicode Wildcards]
ReplaceAll 0x0A 0x0D0A [Down Up BlockOnly Wildcards]
在當前活動窗口中使用其他的值替換所有存在上述字符串或16進制數值的地方。在“in-place”模式下只能應用與磁盤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章