winhexスクリプトコマンドのチュートリアル

winhexスクリプトコマンドのチュートリアル

より多くのスクリプトが適用される環境を指令します。ダブルスラッシュのコメントから始まるスクリプトファイル。255文字までのサポートをスクリプトのパラメータ。疑いの16進数、テキストがあるところ

この文字列(偶数小数点値)がパラメータとして使用することができ、テキストのパラメータを引用数値パラメータをキャストすることができます。テキストや変数名にスペースがある場合、

引用符が必要であり、引用符で囲まれたすべての文字が存在するパラメータとして同定されています。

winhexで数式を使用するときは、数式を参照することができますが、括弧で囲まなければなりません。数学的な表現ではスペースを含めることはできません。同じ番号が可能

式のアプリケーション数値変数をご覧ください。サポート業務は、加算(+)減算を有する( - )、乗算(*)、(/)、モジュロ(%)で割り切れる論理演算子AND(&)、

OR(|)、およびXOR(^)。以下の数式が有効である:(5 * 2 + 1)、(MyVar1 /(MyVar2 + 4))、又は(-MyVar)。

以下は、現在サポートされているスクリプトコマンドの使用の詳細な説明および実施例です。

「D:\マイfile.txtは」作成 1000
のファイルがすでに同じ名前で存在する場合、1000バイトの新しいファイルを作成するためには、それが上書きされます。

オープン「D:\マイfile.txtは」
オープン「D :. * TXT」
「?。」指定された形式のファイルを開くには、ワイルドカードがある場合、ユーザーが開くファイルを選択してみましょうwinhex

Cオープン:
オープンDは:
指定された論理ドライブを開きます。ワイルドカードがある場合は、「?」Winhexは、ユーザーが論理ドライブまたはディスクを開くことを選択してみましょう。

80Hはオープン
オープン81H
オープン9Ehは、
指定された物理的な媒体を開きます。フロッピー00hのためのディスク、およびuのハードディスクが80Hで、ディスクが9Ehです。
2番目のパラメータはメディアの設定ファイルまたは編集モードに増加させることができる(「インプレース」または「読み取り専用」)

CreateBackup
アクティブなファイルの現在の状態については、WHXのバックアップを作成しました。

CreateBackupEx 0 100000 650真の「F: \マイbackup.whx」
部門から100,000のディスクセクタ0で現在アクティブなデータをバックアップします。バックアップファイルは自動的に650Mのサイズに分割されます。そして、圧縮オプションを選択します。出力ファイルのパスだけでなく、

最後のパラメータとして名前を書きます。
バックアップファイルは0に三番目のパラメータの、その値を分割する必要がない場合。あなたが圧縮機能を起動しない場合は「偽」に変更「真」になります。自動割り当てた場合

最後のパラメータのファイル名やファイルパス「」「」として表現されることができます。

0x128 GOTO
後藤MYVARIABLE
カーソルの位置は0x128(16進数)オフセット位置に移動させます。また、カーソルの移動位置を規定する数値変数(8バイトまで)を有します。

移動100
カーソル100の現在位置が後方バイト(16進数16)に移動されます。

書き込み「テスト」
書き込み0x0D0A
書き込みMYVARIABLE
ASCII文字「テスト」または全角「0D0A」を書き込む(上書きモードで)16進現在のカーソル位置。ここでまた、数値変数の値を書き込むことができます。

被覆部ながら後にカーソルを移動。ファイルの終わりに達した場合は、操作を完了するために、ファイルの末尾にヌルバイトを追加します。次のコマンドは、ファイルの末尾に書き込まれません

パキスタン

WRITE2
ファイルの終わりに達した場合にも、同様と「書き込み」機能は、その後、ファイル内のNULLバイトを追加しません。そうなんですよ
バイトのナンバー順方向にすることによって現在の位置にそのWRITE2を負いません常に安全に移動
書かれました。

挿入し、「テスト」
機能と「書き込み」は似ていますが、「挿入」モードでのみファイルに適用することができます。

読むMYVARIABLE 10
現在の位置からは、データ「MYVARIABLE」変数の10のバイトをお読みください。変数が存在しない場合は、1を作成します。サポート48種類の変種しばらくwinhex

金額。もう一つの変数は、「割り当て」を作成するためのコマンドです。

ReadLn MYVARIABLE
行全体の現在位置データからは、改行まで「MYVARIABLE」変数に読み出されます。変数が既に存在する場合、変数の大きさを再調整します。

閉じる
保存せずに、現在アクティブなウィンドウを閉じます。

CLOSEALL
すべてのウィンドウを閉じますを保存しません。

保存
Save現在アクティブなウィンドウが開いているファイルやディスクを変更します。

名前を付けて保存「C:\新Name.txt」
指定されたディレクトリ内のファイルとして保存され、現在アクティブなウィンドウ開いているファイル。ワイルドカードがある場合は、「?」、そして、winhexユーザーがパスとファイル名を保存するかを選択できるようになります。

SAVEALL
すべてのウィンドウの変更を保存します。

終了
スクリプトの実行を中断。

出口
スクリプトの実行と近いwinhex割り込み。

ExitIfNoFilesOpen
スクリプトの実行を終了しますwinhex全く開いているファイルが存在しない場合。

200は100ブロックである
ブロック「私の変数1」「私の変数2」
アクティブウィンドウに定義されているが、200にブロック100からのオフセット(10進数)から選択されます。次の行は、「マイ変数2」に「マイ変数1」変数からコマンド定義を示し、

ブロック選択(最大8バイト)

BLOCK1は0x100は
0x100のオフセット定義されたバイトのブロックを選択しました。あなたは、同じ変数を使用することができます。

ブロック2は0x200から
オフセット0x200からのヘッド部分から選択されたブロックを定義します。あなたは、同じ変数を使用することができます。

コピー
現在のブロックを選択し、クリップボードにコピーされます。選択したブロックを定義し、[編集]メニューの[コピー]コマンドと同じ機能していない場合。

切り取り
クリップボードにせん断ブロック現在選択されているファイルを。

削除
現在選択されているデータ・ブロックがファイルから削除されます。

CopyIntoNewFile「D:FILE.DAT \新しい」
CopyIntoNewFile「D:\ファイルMYVARIABLE + +の.dat」
現在クリップボードにコピーされていない、選択したブロック指定されたデータに新しいファイルをコピーします。選択したブロックを定義し、[編集]メニューの[コピー]コマンドと同じ機能していない場合。同じことができます

新しいファイルとしてデータディスクセクタをコピーします。新しい文書が自動的にwinhex編集ウィンドウで開きません。変数は「+」、変数名の間に追加することができます

これは、2 ^ 24(16M)の整数よりも大きくないと解釈されるであろう。それは多くの場合、アプリケーションやファイルの回復をサイクリングするのに便利です。

貼り付け
ファイルに貼り付けクリップボードのデータを、現在のカーソル位置を変更しません。

WriteClipboard
ファイルまたはディスクセクタの現在位置に書き込まれたクリップボードのデータを、現在のカーソル位置が変更され、現在のカーソル位置からカバレッジデータの後にされていません。

Param1のPARAM2変換
ある形式から別の形式に現在アクティブなファイルにデータを変換します。効果的なパラメータは、ANSI、IBM、EBCDIC、バイナリー、ある HexASCII、IntelHex、

MotorolaS、Base64で、同じUUCode、小文字、大文字、メニューコマンド変換機能で変換メニュー。

AESEncrypt「マイパスワード」
(32まで)指定されたキーを持つ現在のアクティブなファイルやディスク、または選択されたブロックのAES暗号化、。

AESDecrypt「マイパスワード」
、現在アクティブなファイルやディスクを復号化します。

検索「ジョン」[MatchCase MatchWordダウンアップBlockOnly SaveAllPosのUnicodeワイルドカード]
[検索0x1234の[ダウンアップBlockOnly SaveAllPosワイルドカード]
「ジョン」または0x1234のの16進数の値と題しアクティブウィンドウ内の各検索文字列と、第1停止する場所を検索します。他のパラメータはオプションです。

デフォルトでは、ファイル全体またはディスクを検索winhex。その他のオプション機能とパラメータいつもwinhex同じ検索オプション。

でReplaceAll「ジョン」「ドン」[MatchCase MatchWordアップダウンBlockOnlyユニコードワイルドカード]
でReplaceAllは0x0A 0x0D0A [アップダウンBlockOnlyワイルドカード】
あるいは、または16進数値の存在が、アクティブウィンドウ内の他の値が使用される文字列のすべて。「インプレース」モードでは、ディスクにのみ適用することができます。

IfFound
コマンドの値が実行されたことが判明した場合。

MYVARIABLE IfEqual "Hello World"の
IfEqual 0x12345678のMYVARIABLE
IfEqual MYVARIABLE 1000年
IfEqual MYVARIABLE MyOtherVariable
IfEqual MYVARIABLE(10 * MyOtherVariable)は、
2つの整数値(定数値、整数変数または数学的な式にすることができ、それぞれが)、または2つの変数のASCII文字を比較しますストリング、または16進数の値(バイナリモード)

同一でない場合、オブジェクトの2つのバイナリ値の長さを比較し、その結果は偽として返されます。唯一の戻り値がtrueで、次のコマンドが実行されます。条件がない場合は

ケースメントを使用することができます。

MYVARIABLE IfGreater "Hello World"の
IfGreater 0x12345678のMYVARIABLE
IfGreater MYVARIABLE 1000年
IfGreater MYVARIABLE MyOtherVariable
IfGreater MYVARIABLE(10 * MyOtherVariable)
とIfEqualは、同じパラメータを持っています。最初のパラメータは、戻り値がtrueで、次のコマンドを実行することができ、第二のパラメータよりも大きいです。条件は両開き使用されていない場合。

エルス
IfFoundまたはIfEqual後に適用されます。何のオブジェクトが検索されていない、または比較の対象が同じではありませんが、コードは他の背後に実行された場合。

ENDIFの
終了コマンド実行の場合(IfFoundまたはIfEqual後)。

... {
ExitLoop
...}
ループを終了します。その後のサイクルの数を定義するために角括弧が存在するであろう、変数またはキーワード「無制限」(無限ループ)とすることができます。winhexスクリプトの循環

出口へのみExitLoopコマンドを使用します。ケースメントサイクルを使用することはできません。
例:
{書く"ループ"} [10]を出力する"ループ"の文字列10。

ラベルContinueHereは
「ContinueHere」という名前のラベルを作成します

JUMPTO ContinueHere
スクリプトが実行し続けてラベルにジャンプします。

NextObj
すべてのウィンドウのループスイッチ「アクティブ」ウィンドウ。3つのウィンドウがある場合は開いており、ウィンドウがアクティブウィンドウ状態#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:\ B.DAT:\ A.DATはDという名前のDディスクのファイルに転送します。

DeleteFileをC:\ A.DAT
C:\ A.DATファイルの削除。

InitFreeSpace
InitSlackSpace
現在の初期設定の空き容量や、現在の論理ドライブ内のすべての緩やかなスペースをクリアするには、InitSlackSpace駆動モードは一時的に「インプレース」に変換しました

未保存の変更を保存するモード。

InitMFTRecordsは、
現在はNTFSフォーマットのMFTファイルできれいな未使用のレコードを現在の論理ドライブを初期化するために提供しました。他のファイルシステムに対して有効ではありません。変更はすぐにハードに書き込まれます

日中。

12345 MYVARIABLE ASSIGN
ASSIGN MYVARIABLE 0x0D0A
ASSIGN MYVARIABLE "WinHexのようなI"
ASSIGN MYVARIABLE MyOtherVariableの
整数、バイナリ値の保存、ASCIIテキスト、または他の変数の内容"MYVARIABLE"変数に。この変数が存在しない場合は、自動的に作成されます。他の

読む、GetUserInput、InttoStr:変数を作成する方法。48個の変数の存在を可能にしながら。

リリースMYVARIABLEは
winhexスクリプトのみ、我々は空間変数を解放するために、もはや削除することができます使用されている変数を使用して、48個の変数が存在してサポートしているので、すでに、存在する変数を削除します。

GetUserInput MYVARIABLEは、「あなたの名前を入力してください: 」
スクリプト中に、ユーザーが指定したASCIIテキストまたはバイナリデータを保存した(0x ...)変数に「MYVARIABLEを」に。ユーザプロンプトに加えて第2のパラメータ。もし

変数は、それが1を再作成します、存在しません。割り当て、読む:変数を作成する他の方法。

GetUserInputI MyIntegerVariableは「あなたの年齢を入力してください 」
とGetUserInput同じ機能が、唯一の変数整数ことができます。

INC MYVARIABLEは
整数変数(8より大きくない)と解釈され、変数の各動作が自動的にインクリメントされます。ループ内で便利です。

12月MYVARIABLEは
整数変数(8より大きくない)と解釈され、自動変数マイナス1の各動作を説明します。ループ内で便利です。

MyStrミンIntToStr
IntToStr 12345 MyStr
最初のASCIIテキストが可変整数に変換され、第二の変数に保存されています。

StrToIntミンMyStr
整数変数は、最初のASCIIテキストに変換され、第二の変数に保存します。

GetClusterAlloc MyStr
論理ボリュームであり、指定された変数が説明に保存し、現在のクラスタ説明テキストに格納されているファイルを見つけます。

GetClusterAllocEx IntVar
クラスタが割り当てられているかどうかを示す整数値または非ゼロを取得する論理ボリュームには、クラスタが割り当てられていることを示しています。そして、指定された変数に保存されて記述されています。

GetClusterSize IntVarは
、クラスタ内の論理ボリュームのサイズ、および指定された変数に保存された値を返します。

InterpretImageAsDisk
ディスクイメージファイルまたは証拠元の物理ディスクまたはパーティションが同じに扱われます。専門家や法医学ライセンスが必要です。

HashType MYVARIABLE CalcHash
CalcHashEx HashType MYVARIABLE
指定された変数の[ツール]メニューのハッシュ関数と変数ストレージ(変数が存在しない場合は、それが自動的に作成される)で同じコマンド。HashType引数は以下のクラスでなければなりません

CS8、CS16、CS32、CS64、CRC16、CRC32、MD5、SHA-1、SHA-256、PSCHF:タイプ。CalcHashExコマンドウィンドウはウィンドウに表示されます

ハッシュ値。

メッセージボックス「注意」
が表示情報]ダイアログボックス、および[OK]を提供し、ボタンを解除してください。押して、このスクリプトによってキャンセル。

ExecuteScript「SCRIPTNAMEは、」
スクリプトの現在の実行中に別のスクリプトを実行します。外部スクリプトは、他の両開きの使用を呼び出すことができます。スクリプトが実行されて呼び出されると、スクリプトは次のコマンドを実行し続け

この機能は、ユーザーが明確にスクリプトの構造を理解するのに役立ちます。

オンターボ
オフターボ
モードを切り替える-managedチャンネル。

デバッグは、
ユーザーがコマンドの有効活用場合は、スクリプトごとにコマンドを決定することができます。

UseLogFileの
エラー情報は、「scripting.log」フォルダ現在のログファイルに書き込まれます。この情報は、情報ダイアログボックスに表示されません。特にスクリプトを実行中に、非常に便利です

リモートホストが接続できないとき。

CurrentPos
のgetSize
無制限の
3以上がwinhexスクリプトのキーワードがどこデジタルパラメータの用途に使用することができます。スクリプトの実行中は、CurrentPosは、現在アクティブなファイルや磁気を表し、

ウィンドウオフセットアドレスでディスクカーソルは、のgetSizeは、その大きさを示します。無制限のは、実際には整数2,147,483,647を表します。

おすすめ

転載: blog.51cto.com/14601104/2449759