その他の操作・オプション
選択アドレスを基準にして相対アドレス表示/相対アドレス表示を解除
ダンプ表示ウィンドウで、選択アドレスを基準にした相対アドレスでアドレスを表示します。また、ステータスバーも相対アドレス表示となります。メニュー項目「相対アドレス表示を解除」で相対アドレス表示設定を解除します。すでに相対アドレス表示の基準に設定されているアドレスに対して、再度相対アドレス表示の設定を行うと、相対アドレス表示設定を解除します。 ダンプ表示ウィンドウ上での右クリックで表示されるポップアップメニューでも同様の操作を行うことができます。 この設定はオプションで行うこともできます。メニューの「編集」→「オプション」→「その他の設定」タブ。 この機能は、家庭用ゲーム機のエミュレータ上でのゲーム解析において、ベースアドレスからの相対距離を表示しながら解析する際にも有用です。 |
指定メモリエリアから文字列を抽出
指定メモリエリアにあるテキストを抽出します。メモリエリア開始アドレスとメモリエリアの範囲サイズは、16進数で再指定可能で、再指定時には値の0x1000未満は無視されます。 解析対象プロセスのプロセスメモリ全域から文字列の抽出を行いたいならば、まずメニューの[デバッグ]→[アクセス可能な全てのメモリ領域のダンプファイルを作成]でダンプファイルを出力します。次に、メニューの[その他]→[汎用ファイルアナライザ]で、同梱の汎用ファイルアナライザ『青い空を見上げればいつもそこに白い猫』を起動し、出力したダンプファイルを指定後に「文字コード別文字列抽出」機能を使用します。このダンプファイル出力時には、必要に応じてメニュー[ファイル]→[プロセスを停止/再開]を併用してください。 指定メモリエリアが過大か、指定メモリエリアに含まれる文字列が過多の場合、文字列抽出処理には多大な時間を要します。さらに使用PCのスペックによってはフリーズする可能性もありますので、最初は小さいメモリエリアを指定して文字列抽出を試行されることをお奨めします。 過大なサイズのテキストを抽出する場合は、該当するメモリエリアをファイルとしてダンプしてから、そのファイルをテキストエディタで操作するほうが効率的になることもありえます。この場合は、メニューで[編集]→[選択範囲指定・選択範囲のチェックサム/ハッシュ生成]および、[ファイル]→[選択範囲をファイルにダンプ] で対処可能です。 文字列抽出用ダイアログはサイズ可変です。 |
●画面説明 ■開始アドレス テキストを抽出するメモリエリアの開始アドレスを16進数で入力します。初期設定として、ダンプ表示ウィンドウの選択アドレスを含むメモリエリアの開始アドレスが表示されます。 ■範囲サイズ テキストを抽出するメモリエリアの範囲サイズを16進数で入力します。初期設定として、ダンプ表示ウィンドウの選択アドレスを含むメモリエリアの範囲サイズが表示されます。なお、文字列を格納するメモリエリアが分割されているケースでは、ここで表示される範囲サイズは文字列格納メモリエリアの一部を意味するものになるため、必要に応じてダンプ表示ウィンドウで、開始アドレス+範囲サイズ以降のアドレスで文字列の有無を視認されることをお奨めします。 ■テキスト取得 入力された開始アドレスと範囲サイズで特定されるメモリエリア内のテキストを、指定された文字コードの文字列として取得・表示します。 ■低CPU負荷 文字列抽出処理のCPU占有率を低減するオプションです。ただし、このオプションを有効にすると、処理速度が低下します。 ■文字コード(コンボボックス) 取得対象文字列の文字コードを指定します。Windows ANSI/UNICODE(LE)/UTF-8に対応しています。 UNICODEモードでは、文字列の誤抽出回避のためバイナリデータを0x80で区切って2バイトごとに変換します。 ■アドレスなし チェックを入れるとテキスト対応アドレスを表示しません。 ■最低バイト数 取得するテキストの最低バイト数を指定することで、誤抽出を回避します。 ■検索実行 抽出・表示した文字列のなかから、指定された文字列を検索します。検索実行により、最初に見つかった検索該当カ所を選択表示にします。さらに[検索実行]ボタンを押せば、次の該当箇所を検索します。 ■テキスト保存 取得されたテキストを、テキストファイルとして保存します。 |
指定メモリエリアのアクセス属性変更
指定するメモリエリアのアクセス属性を変更します。メモリエリア開始アドレスとメモリエリアの範囲サイズは、16進数で再指定可能で、再指定時には値の0x1000未満は無視されます。 この機能は、プロセスメモリ上のコードセクション該当エリアが書き込み不可の場合といった、いわゆる「書き込み不能領域」への書き込みを可能にする際に有用です。 新型32ビット版「UsaMimi32.exe」と64ビット版「UsaMimi64.exe」では、この機能はメモリエリア確保機能に統合しました(メニュー「デバッグ」→「メモリ領域の確保とアクセス属性変更」)。さらに、利便性向上のため、この新型32ビット版と64ビット版では、書き込みのアクセス属性が無くても強制的に書き込めるようにしています。 |
●画面説明 ■開始アドレス アクセス属性を変更するメモリエリアの開始アドレスを16進数で入力します。初期設定として、ダンプ表示ウィンドウの選択アドレスを含むメモリエリアの開始アドレスが表示されます。 ■範囲サイズ アクセス属性を変更するメモリエリアの範囲サイズを16進数で入力します。初期設定として、ダンプ表示ウィンドウの選択アドレスを含むメモリエリアの範囲サイズが表示されます。アップダウンコントロールで範囲サイズを変更することもできます。 ■読み取り 指定したメモリエリアのアクセス属性に読み取り属性を設定します。 ■書き込み 指定したメモリエリアのアクセス属性に書き込み属性を設定します。「書き込み不能領域」にはこの属性を付加することで書き込み可能になります。 ■実行 指定したメモリエリアのアクセス属性に実行属性を設定します。 元からある実行属性を無効にすると、対象プロセスが強制終了となる可能性があります。 ■OK 指定したメモリエリアのアクセス属性を元に、アクセス属性の変更を行います。 |
オプション
アクティブなダンプ表示ウィンドウに関連する各種設定を行います。この各種設定は、複数のダンプ表示ウィンドウそれぞれに別の設定を適用することが可能です。 また、起動時に行う特殊操作やダンプウィンドウ初期表示アドレス等の設定も行います。 ダンプ表示ウィンドウのバイナリデータ表示形式は、ダンプ表示ウィンドウを表示している状態でF1キー押し下げで動的に切り替え可能です。 以下の設定を用いた実際の操作については、「ダンプ表示ウィンドウでの基本操作」も参照して下さい。 |
●画面説明1 ●画面説明1(新型32ビット版「UsaMimi32.exe」および64ビット版「UsaMimi64.exe」用) ●新型32ビット版「UsaMimi32.exe」および64ビット版「UsaMimi64.exe」での追加項目 ■ダンプ・ダイアログに新型等幅フォントを使用する ダンプ画面やダイアログで使用する等幅フォントに、Windows 10 build 17763(Windows 10 October 2018 Update)で導入された「BIZ UDゴシック」を使用します。 ■強制書き込みモード 当ソフトウェアでのプロセスメモリ書き込みで、書き込みのアクセス属性がないプロセスメモリ領域でも書き込めるようにします。 ■相対アドレス表示用基準アドレス ダンプ表示ウィンドウ上で相対アドレス表示を行うための基準アドレスを設定します。この設定はメニューの「編集」→「選択アドレスを基準にして相対アドレス表示」や、ダンプ表示ウィンドウ上での右クリックで表示されるポップアップメニューの同メニュー項目でも設定可能です。数値0を設定すると相対表示設定を解除します。 ●データ表示形式 ■Bytes ダンプ表示ウィンドウでバイナリデータを1バイト単位で表示します。バイナリデータ対応テキストは表示しません。 ■Words ダンプ表示ウィンドウでバイナリデータをビッグエンディアン方式の2バイト単位で表示します。バイナリデータ対応テキストは表示しません。 ■DWords ダンプ表示ウィンドウでバイナリデータをビッグエンディアン方式の4バイト単位で表示します。バイナリデータ対応テキストは表示しません。 ■Bytes+Text ダンプ表示ウィンドウでバイナリデータを1バイト単位で表示します。さらにバイナリデータ対応テキストも表示します。 ■ガイド(Bytes+Textモード用オプション) 「ガイド」にチェックを入れると、一列の表示形式単位数が16の場合は、ダンプ表示ウィンドウ上部にアドレスとバイナリデータおよび対応テキストの視認性を高めるためのガイドを表示し、さらにダンプ表示ウィンドウ上で4バイトごとに区切り線を表示します。ガイドはダンプ表示ウィンドウ上でのGキー押し下げで表示・非表示を切り替え可能です。 ■キャレット(Bytes+Textモード用オプション) 「キャレット」にチェックを入れると、一列の表示形式単位数が16の場合は、ダンプ表示ウィンドウでバイナリデータ入力位置の視認性を高めるキャレットを表示します。キャレットはダンプ表示ウィンドウ上でのRキー押し下げで表示・非表示を切り替え可能です。キャレット使用時における操作の詳細についてはダンプ表示ウィンドウでの基本操作を参照してください。 ■バイナリデータ対応テキスト表示用文字コード(コンボボックス) バイナリデータ対応テキストを表示するための文字コードを変更します。 以下の4種類から選択可能です。 ・Windows ANSI ・Unicode(UTF-16LE)(リトルエンディアン) ・Unicode(UTF-16BE)(ビッグエンディアン) ・UTF-8 ダンプ表示ウィンドウ上でのUキー押し下げで文字コードを上記の順でトグルさせます。あるいは、メニューの「表示」→「文字コード」でも変更可能です。 Unicode表示モードで、ダンプ表示ウィンドウでの各列の表示開始アドレスがUnicode文字の2バイトのうち後半の1バイトとなっている場合、以降の文字列は正確に表示できず文字化けすることがありますので注意して下さい。 ■Text バイナリデータを表示せず、バイナリデータ対応テキストを表示します。このモードでは、ダンプ表示ウィンドウ上で16進数の文字コードを使わずに直接文字列を入力可能です。 ●データ表示幅 ■ウィンドウサイズで自動調整 ダンプ表示ウィンドウの一列に表示する、指定データ表示形式でのバイナリデータの数を、ウィンドウサイズで自動調整します。 ■一列の表示形式単位数 ダンプ表示ウィンドウの一列に表示する、指定データ表示形式でのバイナリデータの数を指定します。 ●共通フォントサイズ・アンチエイリアス ■共通フォントサイズ 全てのダンプ表示ウィンドウに使用するフォントのサイズを変更します。フォントサイズ8や10の極小のフォントは、Windows9x等使用OSによっては正確に表示されないことがあります。 ■なめらかに表示 フォントにアンチエイリアスを設定し滑らかに表示します。 ●水平スクロールバー ■水平スクロールバーを使用 ダンプ表示ウィンドウ下部に水平スクロールバーを表示します。 ■水平スクロールバーを使用しない ダンプ表示ウィンドウで水平スクロールバーを使用しません。 ●その他の表示オプション ■ダンプ表示ウィンドウのフォーカス取得時に表示バイナリデータを更新する このチェックを外すと、ダンプ表示ウィンドウではバイナリデータの表示を更新しません。ダンプ表示ウィンドウを複数開いて、そのうち1つでこの設定のチェックを外せば、ダンプ表示ウィンドウ同士の表示内容の比較によるバイナリデータの変更点確認が可能です。 ■特定バイナリデータを1Byte単位で強調表示する(16進数で指定) 16進数で指定した1バイトのバイナリデータを、ダンプ表示ウィンドウ上で強調表示します。 ■ステータスバーに実数値を表示する(Nキーで動的に切り替え可) 初期設定ではステータスバー表示内容として、選択アドレスに格納された値を10進数の整数で表示しますが、この設定にチェックを入れれば10進数の整数ではなく実数で表示します。詳細はダンプ表示ウィンドウでの基本操作を参照してください。 ■範囲検索(64Bit Mode)の検索該当箇所をハイライト表示にする 範囲検索(64Bit Mode)の検索結果として、リストアップされたアドレスをダンプ表示ウィンドウ上でハイライト表示にします。検索該当判定の高速化のため、リストアップされていないアドレスは検索該当箇所であってもハイライト表示の対象にはなりませんので注意して下さい。この機能は範囲検索(64Bit Mode)のウィンドウタイトルが変更されていても使用できます。 ●クリップボードへコピーするバイナリデータの表示テキスト形式 ■Address + Bytes + Text の標準ダンプ形式 ダンプ表示ウィンドウ上で選択範囲のコピーを行った際に、選択範囲内のバイナリデータを、アドレスとバイナリデータと対応文字列からなる、標準的なダンプ形式のテキストに変換してクリップボードにコピーします(コピー例)。 テキスト変換時には、ダンプ表示ウィンドウでのバイナリデータ対応テキスト表示用文字コードの設定が反映されます。 Unicode表示モードで、16バイト単位で出力する各列の出力開始アドレスがUnicode文字の2バイトのうち後半の1バイトである場合、以降の文字列は正確に表示できず文字化けすることがありますので注意して下さい。 ■アドレスと連結バイナリデータの改造コード形式 ダンプ表示ウィンドウ上で選択範囲のコピーを行った際に、選択範囲内のバイナリデータを、アドレスとハイフンと連結したバイナリデータ(バイト列)からなる、改造コード形式のテキストに変換してクリップボードにコピーします(コピー例)。 ■C言語の配列形式(char:1Byte) ダンプ表示ウィンドウ上で選択範囲のコピーを行った際に、選択範囲内のバイナリデータを、C言語の配列形式(1バイト単位)のテキストに変換してクリップボードにコピーします(コピー例)。 ■C言語の配列形式(long:4Byte) ダンプ表示ウィンドウ上で選択範囲のコピーを行った際に、選択範囲内のバイナリデータを、C言語の配列形式(4バイト単位)のテキストに変換してクリップボードにコピーします(コピー例)。 ■'0x'修飾子付きスペース区切りのバイト列形式 ダンプ表示ウィンドウ上で選択範囲のコピーを行った際に、選択範囲内のバイナリデータを、「0x」を付けた1バイト毎のスペース区切り形式のテキストに変換してクリップボードにコピーします(コピー例)。 ●設定保存・反映 ■設定保存 設定内容をUsaMimi.iniに保存して、新たにダンプ表示ウィンドウを開いた際の初期設定にします。 ■OK 設定されたオプションを現在開いているダンプ表示ウィンドウに反映させます。 |
●画面説明2 ■文字 表示項目の文字色を変更します。ダンプ表示ウィンドウの表示状況により複数の文字色設定が重複する場合は、なるべく重要な要素の文字色で表示します。 ■背景 表示項目の背景色を変更します。ダンプ表示ウィンドウの表示状況により複数の背景色設定が重複する場合は、なるべく重要な要素の背景色で表示します。 ■標準設定に戻す 文字色と背景色を標準設定に戻します。 ■設定保存 設定された文字色と背景色をUsaMimi.iniに保存して、新たにダンプ表示ウィンドウを開いた際の初期設定にします。 ■OK 設定された文字色と背景色を現在開いているダンプ表示ウィンドウに反映させます。 |
●画面説明3 ●表示アドレス ■相対表示の基準アドレスを16進数で指定 ダンプ表示ウィンドウ上で相対アドレス表示を行うための基準アドレスを設定します。この設定はメニューの「編集」→「選択アドレスを基準にして相対アドレス表示」や、ダンプ表示ウィンドウ上での右クリックで表示されるポップアップメニューの同メニュー項目でも設定可能です。数値0を設定すると相対表示設定を解除します。 ●起動時の設定 ■初期ダンプ表示アドレスを16進数で指定 ダンプ表示ウィンドウが最初に表示するアドレスを指定することができます。数値0を設定すると、標準設定によりメインモジュール先頭アドレスが初期表示アドレスとなります。 ■新型ツールバーを使用 新しいデザインのツールバーを使用します。詳細は「ユーザーインターフェイス 名称説明」を参照してください。 ■新型ツールバーにボタン追加 新しいデザインのツールバーに特定のボタンを追加します。詳細は「ユーザーインターフェイス 名称説明」を参照してください。 ■ウィンドウタイトル/クラス名を変更 当ソフトウェアの起動時にウィンドウタイトルとウィンドウクラス名を通常とは別のものに変更します。メインフレームのウィンドウタイトルはランダム、各ダンプ表示ウィンドウのウィンドウタイトルは0文字となり、ウィンドウクラス名は複数の候補からランダムに選択します。このモード使用前に、実行ファイル名「UsaMimi.exe」を「Explorer.EXE」等に変更するとより効果的です。 ■Kernel32.DLL/Ntdll.DLLモジュールの書き替えによるAPIフックを解除 Kernel32.DLL/Ntdll.DLLの関数エントリ(関数開始アドレス)書き替えや、Kernel32.DLLのIAT書き替えによるAPIフックを解除します。この機能は、ウイルスやrootkit等が行うAPIフックにより、当ソフトウェアのプロセスメモリエディタやデバッガの各種処理が阻害されるケースへの対処を目的として実装しました。この機能はWindows2000/XPでのみ使用可能です。 任意のタイミングでこの機能を使用する場合は、メニューの「その他」→「Kernel32.DLL/Ntdll.DLLモジュール書き替えによるAPIフックを解除」で使用可能です。 ■SDT(Service Descriptor Table)の書き替えによるAPIフックを解除 カーネルスペースでのSDT書き替えによるAPIフックを解除します。この機能にカーネルドライバは使用していません。この機能は、ウイルスやrootkit等が行うAPIフックにより、当ソフトウェアのプロセスメモリエディタやデバッガの各種処理が阻害されるケースへの対処を目的として実装しました。この機能はWindows2000/XPでのみ使用可能です。 任意のタイミングでこの機能を使用する場合は、メニューの「その他」→「SDT(Service Descriptor Table)書き替えによるAPIフックを解除」で使用可能です。 ■APIフック解除用DLL名を指定 APIフック解除用DLLのモジュール名を変更して、ウイルスやrootkit等によるこのAPIフック解除用DLLの検出を困難にします。ただし、名前の変更でこのAPIフック解除用DLLの検出が不可能になる訳ではありません。 ●設定保存・反映 ■設定保存 設定内容をUsaMimi.iniに保存して、次回起動時や新たにダンプ表示ウィンドウを開いた際の初期設定にします。 ■OK 設定された相対表示アドレス情報を現在開いているダンプ表示ウィンドウに反映させます。 |