winhex腳本命令教程

創(chuàng)新互聯(lián)公司是專業(yè)的馬村網(wǎng)站建設(shè)公司,馬村接單;提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行馬村網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
腳本命令適用的環(huán)境比較多。腳本文件中的注釋以為雙斜杠開頭。腳本支持的最長255字符的參數(shù)。有疑點的地方是十六進制,文
本字符串(甚至10進制數(shù)值)都可以作為參數(shù),你可以使用引號強制轉(zhuǎn)換數(shù)字參數(shù)為文本參數(shù)。如果文本或者變量名中存在空格,
則引號是必須的,在引號中的所有字符都被被識別成一個參數(shù)而存在。
當(dāng)在winhex中使用數(shù)學(xué)表達式的時候,可以引用數(shù)學(xué)表達式,但是必須用括號括起來。在數(shù)學(xué)表達式中不能有空格。同樣可以在數(shù)
學(xué)表達式中應(yīng)用數(shù)字變量。支持的操作有,加法(+),減法(-),乘法(*),整除(/),模除(%),邏輯運算符AND(&),
OR(|),以及XOR(^)。以下是有效的數(shù)學(xué)表達式:(5*2+1), (MyVar1/(MyVar2+4)), or (-MyVar)。
以下是目前支持的腳本命令的詳細描述以及使用實例。
Create "D:\My File.txt" 1000
創(chuàng)建一個1000字節(jié)的新文件,如果已經(jīng)存在同名文件,則將其覆蓋。
Open "D:\My File.txt"
Open "D:*.txt"
打開指定格式的文件,如果通配符為“?”則winhex會讓用戶選擇要打開的文件。
Open C:
Open D:
打開指定的邏輯驅(qū)動器。如果通配符為“:?”則winhex會讓用戶選擇要打開的邏輯驅(qū)動器或者磁盤。
Open 80h
Open 81h
Open 9Eh
打開指定的物理介質(zhì)。軟盤的為00h,硬盤與u盤為80h,光盤為9Eh。
可以增加第二個參數(shù)來設(shè)定文件或者介質(zhì)的編輯模式(“in-place”或者“read-only”)
CreateBackup
為活動文件的當(dāng)前狀態(tài)創(chuàng)建WHX備份。
CreateBackupEx 0 100000 650 true "F:\My backup.whx"
備份當(dāng)前活動磁盤中從0扇區(qū)到100000扇區(qū)的數(shù)據(jù)。備份文件將自動分割成650M大小。并且選擇了壓縮選項。輸出文件的路徑以及
名稱作為最后的參數(shù)寫入。
如果備份文件不需要分割,則第三個參數(shù)的數(shù)值該為0即可。如果不啟動壓縮功能則將“true”改為“false”。如果需要自動分配
文件名以及文件路徑則最后的參數(shù)表示為“""”即可。
Goto 0x128
Goto MyVariable
將光標的位置移動到偏移量0x128位置(16進制表示)。同樣也可以用數(shù)字變量(最長8字節(jié))來定義光標移動的位置。
Move 100
將當(dāng)前光標的位置向后移動100字節(jié)(16進制)。
Write "Test"
Write 0x0D0A
Write MyVariable
在光標當(dāng)前位置(以覆蓋模式)寫入ASCII字符“Test”或者兩個字節(jié)的16進制數(shù)“0D0A”。這里同樣可以寫入數(shù)字變量中的值。
同時將光標移動到被覆蓋部分的后面。當(dāng)?shù)竭_文件的結(jié)尾時,將在文件尾部添加空字節(jié)以完成操作。下一個寫命令將不會在文件尾
巴
Write2
和“Write”的功能類似,當(dāng)時當(dāng)?shù)竭_文件結(jié)尾的時候,不會在文件添加空字節(jié)。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”模式只能應(yīng)用于文件。
Read MyVariable 10
從當(dāng)前位置讀入10個字節(jié)的數(shù)據(jù)到“MyVariable”變量中。如果變量不存在,它將會創(chuàng)建一個。winhex同時可以支持48個不同的變
量。另一個創(chuàng)建變量的命令是“Assign”。
ReadLn MyVariable
從當(dāng)前位置讀入一整行的數(shù)據(jù)到“MyVariable”變量中直到遇到換行符。如果變量已經(jīng)存在了,則變量的大小將會被從新調(diào)整。
Close
不保存的關(guān)閉當(dāng)前活動窗口。
CloseAll
不保存的關(guān)閉所有窗口。
Save
保存當(dāng)前活動窗口中打開的文件或磁盤的修改。
SaveAs "C:\New Name.txt"
將當(dāng)前活動窗口打開的文件另存為指定目錄下的文件。如果通配符為“?”,則winhex會讓用戶自己選擇保存的路徑以及文件名。
SaveAll
保存所有窗口中修改。
Terminate
中斷腳本的執(zhí)行。
Exit
中斷腳本的執(zhí)行并且關(guān)閉winhex。
ExitIfNoFilesOpen
如果在winhex中沒有打開的文件將終止腳本文件的執(zhí)行。
Block 100 200
Block "My Variable 1" "My Variable 2"
在當(dāng)前活動窗口中定義一個偏移量從100到200的選塊(10進制)。下一行命令表示定義從變量"My Variable 1"到"My Variable 2"
的選塊(最長8字節(jié))
Block1 0x100
在偏移量0x100處定義一個字節(jié)的選塊。同樣可以使用變量。
Block2 0x200
定義一個從開頭到偏移量0x200部分的選塊。同樣可以使用變量。
Copy
將當(dāng)前選塊復(fù)制進剪切板中。如果沒有定義選塊,其功能和編輯菜單中的復(fù)制命令相同。
Cut
將當(dāng)前選塊中的文件剪切到剪切板中。
Remove
將當(dāng)前選塊中的數(shù)據(jù)從文件中移除。
CopyIntoNewFile "D:\New File.dat"
CopyIntoNewFile "D:\File +MyVariable+.dat"
將當(dāng)前選塊中的數(shù)據(jù)復(fù)制進指定的新文件,而不復(fù)制進剪切板。如果沒有定義選塊,其功能和編輯菜單中的復(fù)制命令相同。同樣可
以復(fù)制磁盤扇區(qū)中的數(shù)據(jù)作為一個新文件。新建的文件不會自動在winhex的編輯窗口中打開。可以在“+”之間加入變量,變量名
將被解釋為不大于2^24(16M)的整數(shù)。通常在循環(huán)應(yīng)用以及文件恢復(fù)中比較有用。
Paste
將剪切板中的數(shù)據(jù)粘貼入文件中,并且不改變光標當(dāng)前位置。
WriteClipboard
將剪切板中的數(shù)據(jù)寫入文件或磁盤扇的當(dāng)前位置中,不改變光標當(dāng)前位置,并且覆蓋從當(dāng)前光標所在位置以后的數(shù)據(jù)。
Convert Param1 Param2
將當(dāng)前活動文件中的數(shù)據(jù)從一種格式轉(zhuǎn)換成另一種格式。有效的參數(shù)是ANSI,IBM,EBCDIC,Binary,HexASCII,IntelHex,
MotorolaS, Base64, UUCode, LowerCase, 以及UpperCase,與轉(zhuǎn)換菜單中的轉(zhuǎn)換菜單命令功能相同。
AESEncrypt "My Password"
使用AES加密當(dāng)前活動文件或者磁盤,或其選塊,使用指定的密鑰(最高32位)。
AESDecrypt "My Password"
解密當(dāng)前活動文件或磁盤。
Find "John" [MatchCase MatchWord Down Up BlockOnly SaveAllPos Unicode Wildcards]
Find 0x1234 [Down Up BlockOnly SaveAllPos Wildcards]
分別搜索當(dāng)前活動窗口中名為“john”的字符串或16進制值數(shù)0x1234,并且在第一個搜索到的地方停下來。其他的參數(shù)是可選的。
默認的winhex搜索整個文件或磁盤。其他的可選參數(shù)功能和通常的winhex搜索選項相同。
ReplaceAll "Jon" "Don" [MatchCase MatchWord Down Up BlockOnly Unicode Wildcards]
ReplaceAll 0x0A 0x0D0A [Down Up BlockOnly Wildcards]
在當(dāng)前活動窗口中使用其他的值替換所有存在上述字符串或16進制數(shù)值的地方。在“in-place”模式下只能應(yīng)用與磁盤。
IfFound
如果發(fā)現(xiàn)了值則執(zhí)行下面的命令。
IfEqual MyVariable "Hello World"
IfEqual 0x12345678 MyVariable
IfEqual MyVariable 1000
IfEqual MyVariable MyOtherVariable
IfEqual MyVariable (10*MyOtherVariable)
比較兩個整數(shù)值(其中每個值可以是常量,整數(shù)變量或者數(shù)學(xué)表達式)或者兩個變量,ASCII字符串,或16進制數(shù)值(2進制模式)
。比較兩個對象的2進制數(shù)值長度,如果不相同的話則返回結(jié)果為false。只有返回值為true時,下面的命令才會被執(zhí)行。if條件不
可以鑲套使用。
IfGreater MyVariable "Hello World"
IfGreater 0x12345678 MyVariable
IfGreater MyVariable 1000
IfGreater MyVariable MyOtherVariable
IfGreater MyVariable (10*MyOtherVariable)
和IfEqual擁有相同的參數(shù)。第一個參數(shù)大于第二個參數(shù),返回值為true,則下面的命令才能被執(zhí)行。if條件不可以鑲套使用。
Else
應(yīng)用在IfFound或IfEqual之后。如果沒有任何對象被搜索到或者比較的目標不相同,則執(zhí)行else后面的代碼。
EndIf
結(jié)束if條件命令執(zhí)行(在IfFound或IfEqual之后)。
{...
ExitLoop
...}
退出循環(huán)。其后會有一個方括號來定義其循環(huán)次數(shù),可以是變量也可以是關(guān)鍵字“unlimited”(無限循環(huán))。winhex腳本中循環(huán)
只能使用ExitLoop命令來退出。循環(huán)不可以鑲套使用。
舉例:
{ Write "Loop" }[10] 將輸出“Loop”字符串10次。
Label ContinueHere
創(chuàng)建一個標簽并命名為“ContinueHere”
JumpTo ContinueHere
腳本跳轉(zhuǎn)到標簽處繼續(xù)執(zhí)行.
NextObj
循環(huán)在所有窗口中進行切換“活動”窗口。如果有三個窗口被打開,并且窗口#3狀態(tài)為活動窗口,則“NextObj”命令將會讓窗口
#1變?yōu)榛顒哟翱凇?/p>
ForAllObjDo
在ForAllObjDo與EndDo之間的腳本代碼將在所有打開的文件或者磁盤中執(zhí)行。
CopyFile C:\A.dat D:\B.dat
將C:\A.dat文件中的內(nèi)容復(fù)制到D:\B.dat中。
MoveFile C:\A.dat D:\B.dat
將C:\A.dat文件轉(zhuǎn)移到D盤中并命名為D:\B.dat。
DeleteFile C:\A.dat
將C:\A.dat文件刪除。
InitFreeSpace
InitSlackSpace
使用當(dāng)前初始化設(shè)置清理當(dāng)前邏輯驅(qū)動器中的所有自由空間或松散空間,InitSlackSpace將驅(qū)動器的模式臨時轉(zhuǎn)換為“in-place”
模式,以保存未保存的修改。
InitMFTRecords
使用當(dāng)前初始化設(shè)置在當(dāng)前NTFS格式的邏輯驅(qū)動器中清理未使用的MFT FILE記錄。對于其他的文件系統(tǒng)無效。修改立即就會寫入硬
盤中。
Assign MyVariable 12345
Assign MyVariable 0x0D0A
Assign MyVariable "I like WinHex"
Assign MyVariable MyOtherVariable
將整數(shù),二進制數(shù)值,ASCII文本,或其他變量內(nèi)容保存到“MyVariable”變量中。如果這個變量不存在,將會被自動創(chuàng)建。其他
的創(chuàng)建變量的方法:Read,GetUserInput,InttoStr。同時可以允許有48個變量存在。
Release MyVariable
刪除一個已存在的變量,因為winhex腳本中只支持48個變量存在,所以用過的不再使用變量我們可以將其刪除以釋放變量空間。
GetUserInput MyVariable "Please enter your name:"
在腳本運行期間,保存用戶指定的ASCII文本或二進制數(shù)據(jù)(0x...)到變量“MyVariable”中。第二個參數(shù)給除了用戶提示。如果
變量不存在,它將重新創(chuàng)建一個。其他創(chuàng)建變量的方式:Assign,Read。
GetUserInputI MyIntegerVariable "Please enter your age:"
與GetUserInput功能相同,但是只允許整數(shù)型變量。
Inc MyVariable
將變量解釋為整數(shù)(不大于8位)并且每運行一次變量自動加1。在循環(huán)中有用。
Dec MyVariable
將變量解釋為整數(shù)(不大于8位)并且每運行一次變量自動減1。在循環(huán)中有用。
IntToStr MyStr MyInt
IntToStr MyStr 12345
將第一個變量中的ASCII文本轉(zhuǎn)換成整數(shù)并保存到第二個變量中。
StrToInt MyInt MyStr
將第一個變量中的整數(shù)轉(zhuǎn)換成ASCII文本并保存到第二個變量中。
GetClusterAlloc MyStr
在邏輯卷中,找回哪個文件被儲存在當(dāng)前簇中的文本描述,然后將描述保存到指定的變量中。
GetClusterAllocEx IntVar
在邏輯卷中,找回一個整數(shù)值指示簇是否被分配,1或者非0,表示該簇已被分配。并且將描述保存在指定變量中。
GetClusterSize IntVar
返回邏輯卷中簇的大小,并將數(shù)值保存到指定的變量中。
InterpretImageAsDisk
將磁盤鏡像或證據(jù)文件作為原始物理磁盤或分區(qū)一樣對待。需要specialist或forensic許可。
CalcHash HashType MyVariable
CalcHashEx HashType MyVariable
與工具菜單中的hash命令功能相同并且將變量儲存在指定變量中(如果變量不存在,則會自動創(chuàng)建)。HashType參數(shù)必須為以下類
型中的一種:CS8, CS16, CS32, CS64, CRC16, CRC32, MD5, SHA-1, SHA-256, PSCHF。CalcHashEx命令將在windows窗口中顯示
hash值。
MessageBox "Caution"
顯示信息對話框,并且提供ok和cancel兩個按鈕。按下cancel按腳本本。
ExecuteScript "ScriptName"
在腳本的當(dāng)前運行處運行另一個腳本。調(diào)用其他外部腳本可以鑲套使用。當(dāng)被調(diào)用的腳本執(zhí)行完成以后,腳本繼續(xù)執(zhí)行下面的命令
。這個特征可以幫助用戶清楚的了解腳本的結(jié)構(gòu)。
Turbo On
Turbo Off
管理道模式開關(guān)。
Debug
用戶可以利用該命令確定腳本中的每一條命令都是否有效。
UseLogFile
錯誤信息被寫入當(dāng)前文件夾下的日志文件“scripting.log”。這些信息不會顯示在信息對話框中。非常有用,特別在運行的腳本
主機無法遠程連接的時候。
CurrentPos
GetSize
unlimited
以上三個是winhex腳本中的關(guān)鍵字,可以被使用在應(yīng)用數(shù)字參數(shù)的地方。在腳本執(zhí)行過程中,CurrentPos表示當(dāng)前活動文件或者磁
盤窗口中光標的偏移地址,GetSize表示了它的大小。unlimited實際上表示的是整數(shù)2,147,483,647。
當(dāng)前標題:winhex腳本命令教程
本文路徑:http://www.chinadenli.net/article22/gccojc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站維護、網(wǎng)站排名、動態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)