vb.net で バイナリエディターを実装したい - 大人の自由研究

大人の自由研究 ホーム » 未分類 » vb.net で バイナリエディターを実装したい

vb.net で バイナリエディターを実装したい


 モンスターハンター4G チートコートジェネレーターの機能で、セーブデータをバイナリ形式で閲覧する事が出来るんだけど、、、普通に TextBox を使ってるので、味気ないw
 もう少し、見やすくできないものかと。。。しかも簡単にw
 で、「vb.net バイナリエディター」でググってみた。
 すると、HexEditor というものが見つかって、なんと、vb.net からでも利用ができそう!!
 ・Be.HexEditor (.NET C# hex edit control)
 さっそくダウンロード!

 以下、備忘録ですが。。。

 解凍すると、いろいろファイルがある
 Be.Windows.Forms.HexBox.dll
 このDLLを ツールボックスへドラッグドロップする。
 

 すると、「HexBox」というコントロールが現れる
 

 このコントロールを普通にフォームへ貼るだけでOK。


 以下がサンプルソース


' ファイルからのデータ読み込み
Dim fname As String = "C:\user1"
Me.HexBox1.ByteProvider = New Be.Windows.Forms.DynamicFileByteProvider(fname)

' 予め、バイトの配列でデータがあれば、こちらで OK
Me.HexBox1.ByteProvider = New Be.Windows.Forms.DynamicByteProvider(_buffer)


' アドレス表示
Me.HexBox1.LineInfoVisible = True

' アドレスのオフセット
Me.HexBox1.LineInfoOffset = 1024 * 10

' 表示は横16バイトで固定して表示する
Me.HexBox1.BytesPerLine = 16
Me.HexBox1.UseFixedBytesPerLine = True

' カラムのガイドを出す( UseFixedBytesPerLine = True の必要あり)
Me.HexBox1.ColumnInfoVisible = True

' 右側にASCII文字を表示
Me.HexBox1.StringViewVisible = True

' 8バイト毎にセパレーターを入れる
Me.HexBox1.GroupSize = 8
Me.HexBox1.GroupSeparatorVisible = True



プロパティの設定はデザイナからも可能。

' カーソルの移動(範囲指定も可能)
Me.HexBox1.SelectionStart = 8192
Me.HexBox1.SelectionLength = 1


以下は、サーチのサンプル

' サーチ対象バイナリデータ
Dim str() As Byte = {0, 0, 0, 1}

Dim fo = New Be.Windows.Forms.FindOptions

' HEXサーチバイトをセット
fo.Hex = str
fo.Type = Be.Windows.Forms.FindType.Hex

' テキストの場合
fo.Text = "12"
fo.Type = Be.Windows.Forms.FindType.Text

' サーチ開始
Me.HexBox1.Find(fo)

マッチした位置にカーソルが移動する
再度、Findを実行すると、次にマッチした位置へ移動

 他にも色々とできそうだが。。。

 夢が広がるなぁーーー


関連記事
スポンサーサイト
コメント
非公開コメント

トラックバック

http://ukkey3.blog33.fc2.com/tb.php/571-b4f12e61