UMEC.exeの概要及び基本操作等UMECappend.exeの概要及び基本操作等UMPE.exe/UMPE64.exe同梱のUMPE.exeはPEファイルのダンプや編集を行うソフトです。PEiD互換機能や、バイナリエディタなど、特にマルウェアの解析やアンパックに役立つ機能を実装しています。このソフトウェアは、当ソフトウェアのメニューから呼び出すことが可能です(メニューの「その他」→「PEダンパー/PEエディタ」)。同梱のUMPE64.exeはUMPE.exeの64ビット版です。32ビット版のUMPE.exeが対応していない、64ビット版のプロセスや実行ファイルを解析することができます。このソフトウェアはWindows9x/Meでは使用できません。UMPE.exeの概要及び基本操作等AoZoraSiroNeko.exe/ssdeep.dll/libyara32.dll/libyara64.dll/yara_rule_file.txt/msvcr100.dll同梱のAoZoraSiroNeko.exeは各種ファイルの種別を判定する汎用ファイルアナライザです。プログラム解析に付随する各種ファイル解析に役立つ、下記の機能を実装しています。このソフトウェアは、当ソフトウェアのメニューから呼び出すことが可能です(メニューの「その他」→「汎用ファイルアナライザ」)。・各種ファイル・データ抽出機能ssdeep.dllは、この汎用ファイルアナライザがssdeepの生成に使用します。ssdeepについては下記リンク先を参照してください。libyara32.dllとyara_rule_file.txtは、この汎用ファイルアナライザとうさみみハリケーン本体の新型32ビット版(UsaMimi32.exe)が実装する、YARAルールを用いたスキャン機能で使用します。YARAとYARAルールの概要は、解説「YARAについて」を参照して下さい。同様に、libyara64.dllとyara_rule_file.txtは、うさみみハリケーン本体の64ビット版(UsaMimi64.exe)に実装された、YARAルールを用いたプロセスメモリのスキャン機能で使用します。msvcr100.dllはlibyara32.dllやlibyara64.dllが動作上必要な再配布可能ランタイムです。うさみみハリケーン本体の32ビット版では、使用するコンパイラの制約により、YARAルールを用いたプロセスメモリのスキャン機能が実装できないため、AoZoraSiroNeko.exeに同機能の実装を行いました。このソフトウェアはWindows9x/Me/2000では使用できません。AoZoraSiroNeko.exeの概要及び基本操作等16Edit.DLL/16Edit64.DLL/LucaAhead.dll/UMPEhelper.exe/UserDB.txt/UserDB64.txt同梱の16Edit.DLL/LucaAhead.dllは、UMPE.exeとAoZoraSiroNeko.exeの補助用DLLで、それぞれバイナリエディタでの編集、デジタル署名の有効性チェックを行うためのものです。同様に16Edit64.DLLはUMPE64.exeが使用します。UMPEhelper.exeは、Windows8での、OS仕様に伴う一部処理の不具合の回避に使用します。UserDB.txt/UserDB64.txtはUMPE.exe/UMPE64.exeが使用するパッカーやコンパイラのデータベースファイルです。NekoLaunch.exe/NekoLaunch.ico/NekoLaunch_Def.xml同梱のNekoLaunch.exeは、うさみみハリケーン本体および同梱ソフトウェアの起動等を簡易化する、ボタン型ランチャーです。NekoLaunch.icoは、NekoLaunch.exeの実行時にタスクトレイに登録するためのアイコンです。NekoLaunch_Def.xmlはNekoLaunch.exeの設定ファイルのインストール用ファイルであり、初回実行時にはNekoLaunch.xmlにリネームされます。以上が(プレ)インストールされた環境で動作します。以上がプレインストールされています。このソフトウェアは、当ソフトウェアのメニューから呼び出すことが可能です(メニューの「その他」→「ボタン型ランチャー」)。基本的に管理者権限での起動が必要となるため、タスクスケジューラに登録し、Windowsのログイン時に併せて自動的に管理者権限で起動させることをお勧めします。Travesia」内Q&A)NekoLaunch.exeの概要及び基本操作等UsaTest2.EXE同梱のUsaTest2.EXEは、当ソフトウェアのプロセスメモリ編集機能や検索機能をテストするためのソフトウェアです。プロセスメモリエディタを初めて扱うような初心者の方が、当ソフトウェアの操作に簡単に慣れるのに役立つと考えられるため同梱しました。64ビット版のUsaTest2_x64.exeも同梱しています。当ソフトウェア用の改造コードは以下です。UsaTest2.exeプロセスのアドレス403000から412FFFまでの範囲は、自由に使用できるメモリエリアとして確保していますので、プロセスメモリ書き換えの練習等に使用可能です。(アクセス属性変更付き)A00401000S00001000004013BC-00UsaTest2Win.exe同梱のUsaTest2Win.exeは、プログラム解析を演習するためのソフトウェアです。【x64対応版】』で、プログラム解析のアプローチ例を解説するために製作しました。Travesia内)NekoAsm.exe/NekoAsm64.exe同梱のNekoAsm.exeは簡易アセンブラ兼逆アセンブラで、アセンブルコードリストをアセンブルしてバイナリデータをテキスト形式で出力したり、テキスト形式で入力されたバイナリデータを逆アセンブルしてアセンブルコードを出力することが可能です。このソフトウェアは、プロセスメモリ上にコードを書き込んで実行させる「パラサイトルーチン」の作成等に有用です。このソフトウェアは、当ソフトウェアのメニューから呼び出すことが可能です。NekoAsm64.exeはNekoAsm.exeの64ビット版です。NekoAsm.exeの概要及び基本操作等NekoAsm.dll/XEDParse.dll/XEDParse64.dll同梱のNekoAsm.dllはアセンブラ・逆アセンブラエンジン本体で、当ソフトウェアの逆アセンブル機能及び、NekoAsm.exeが使用します。XEDParse.dllはx86アセンブラエンジン本体で当ソフトウェア(32ビット版)のパラサイトルーチン作成機能等で使用します。XEDParse64.dllはx64アセンブラエンジン本体で、当ソフトウェア(64ビット版)のパラサイトルーチン作成機能及び、NekoAsm64.exeが使用します。同梱のResStrView_DotNET35.exe/ResStrView_DotNET40.exeは、実行ファイルのリソースに格納されている文字列の取得に特化したリソース文字列ビューアです。XP/Vista/7での使用を想定しています。8以降での使用を想定しています。Vestris.ResourceLib.dllはリソース文字列取得エンジン本体です。Vestris.ResourceLib.dllの仕様により、他のプロセスが使用中の実行ファイルは解析できません。実行中のプロセスのEXEファイルなども同様です。パッカーで圧縮や暗号化が施された実行ファイルのリソースは読み取れないことがあります。ResStrView_DotNET35.exeとResStrView_DotNET40.exeにソースコード上の違いはありません。4.0以上ベースの「.NETアプリケーションの実行ファイル」すなわち「アセンブリ」ならば、そのアセンブリに埋め込まれた一部のリソースが認識できません。「DotNET35」版と「DotNET40」版ともに32ビット版であるため、解析対象が64ビット版のアセンブリならば、埋め込まれた一部のリソースが認識できません。そこで、アセンブリを解析対象とする際には、32ビット版のアセンブリを指定してください。現状では、一般的なソフトウェアやマルウェアなどで、64ビット版のアセンブリのみ提供というケースは多くはありませんので、64ビット版のアセンブリに対処可能な、64ビット版の「DotNET35」版と「DotNET40」版は製作していません。他の特筆すべき点として、いったん読み込んだ解析対象アセンブリは解放されず、当アプリケーションが終了するまで使用中の状態となり、他のアプリケーションからこのアセンブリを開くことができなくなります。Frameworkの仕様による制約があることにご注意願います。.NETアプリケーションの実行ファイル「アセンブリ」では、画面に表示される「ボタン上の文字列」などは、一般的な実行ファイルのリソースとは異なる格納形式になっているため、当ソフトウェアでは取得できません。このような文字列は、.NETアプリケーション用の逆コンパイラを用いるか、あるいは、うさみみハリケーンを使ってボタンなどに設定されたウィンドウ文字列として取得することで対処可能です。うさみみハリケーンでは、メニュー[ファイル]→[プロセスの各種情報を表示]→[ウィンドウ]タブで、目的の文字列を選択してから右クリックにより対象文字列をコピーできます。●基本操作まず、実行環境にあわせてResStrView_DotNET35.exeあるいはResStrView_DotNET40.exeを起動し、解析対象の実行ファイルを読み込みます。それから、リソース一覧上で緑色に色づけされた文字列リソース項目を選択すると、対象リソースの格納文字列を表示します。この際、リソースの格納文字列をそのままではなく、開発者用のリソーススクリプト(RC)形式で出力します。一覧表示された全てのリソースで、選択時にはそのバイナリデータをバイナリエディタの表示形式で表示します。基本的に、一般的なリソース文字列は、文字コードがUnicode形式となっています。HTMLファイルのリソース「RT_HTML」は、エンコード等の問題があるため文字列の表示は行いません。[選択リソースをダンプ]ボタンでダンプ(ファイルに保存)してから安全性を確認後に、ブラウザでオープンしてください。.NETアプリケーションが標準(レジストリ書き換えなし)で実装できるブラウザ機能は、旧式のIE7ベースとなるため実装を見送りました。当ソフトウェアが対応している一般的な文字列リソース形式とは異なる、独自のリソース形式で文字列データを格納するケースもあります。この場合は、当該リソース選択時のバイナリデータ表示内容から文字列データ格納を確認後に、いったん対象リソースをダンプしてからテキストエディタあるいはバイナリエディタでオープンしてみてください。このような独自形式のリソースで、特にバイナリデータと文字列のデータが混在しているケースならば、同梱の汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」が実装している、文字コード別の文字列抽出機能で対処してください。リソースには、独自のリソースとして実行ファイルが含まれることもあります。この場合、ダンプした実行ファイルの動作確認は、必ず仮想PC上といった安全な実行環境で行ってください。リソース一覧上で画像データであるリソースが選択された場合は、画面右下のバイナリデータ表示部の右にある画像表示部(ピクチャーボックス)に画像を表示します。この画像表示部は、当ソフトウェアの初期ダイアログ画面サイズには収まらなかったため、画面右下最下部のサイズグリップのドラッグや、最大化などで画面サイズを拡大しないと使用できません。対応している画像形式はBMP(「RT_BITMAP」リソースを含む)、PNG、GIF、JPEG、TIFF形式などです。グループアイコン「RT_GROUP_ICON」やグループカーソル「RT_GROUP_CURSOR」選択時にも、そのアイコンやカーソルに含まれる画像(複数の画像が含まれる場合はその一つ)を表示します。この画像表示機能は当該リソースが本物の画像データであることの確認用であり、画像は実サイズではなく適度に拡大縮小して表示されます。そのため、画像表示時には、実サイズの画像データをクリップボードにコピーし、画像編集ソフト上でペーストできるようにしています。このクリップボード経由で取得した画像データの利用は、私的利用といった、著作権や意匠権等の侵害にならない範囲で行ってください。実行ファイルにおけるリソース格納の仕様により、リソース一覧上の「RT_BITMAP」や「RT_GROUP_ICON」および「RT_GROUP_CURSOR」リソースをそのままダンプしても、正常に機能するBMP画像ファイルやアイコンファイル等にはなりません。同梱のPEエディタ「UMPE」には、アイコンリソースをアイコンファイルに変換して一括出力する機能を実装していますので、必要に応じて同機能を使用してください。●設定の保存この解析ツールはC#言語で製作しており、使用フォント情報やウィンドウ位置情報の保存と復元には、INIファイルではなくC#言語で操作が容易なXMLファイルを使用します。UsaSpeed.dll/UsaSpeed32.dll/UsaSpeed64.dll同梱のUsaSpeed.dllは、APIフックを用いた、対象プロセスの実行速度調整やCPU占有率の制御を行うためのものです。UsaSpeed32.dllは同DLLの新型32ビット版で、UsaSpeed64.dllは同DLLの64ビット版です。UsaSpeed.dllとUsaSpeed32.dllはどちらも32ビット版ですが互換性はありません。過去のバージョンで同梱・使用していたUsaSpeed2.dllは、UsaSpeed.dllに統合しましたので現バージョンでは不要であり削除可能です。Table(SDT)書き替えによるAPIフックの解除機能を提供するDLLモジュールです。この機能はプロセスメモリエディタやデバッガの動作を阻害する、ウイルス・rootkit・トロイ等を解析するケースを想定して実装しました。Restore』に同梱されているソースコードをほぼそのまま流用しています。Restore』を公式サイトで入手して下さい。NekoWalk.dll/NekoWalk64.dll同梱のNekoWalk.dllは、対象プロセスの実行状況に関する各種情報を取得するためのものです。NekoWalk64.dllは同DLLの64ビット版です。GenProcHook.dll同梱のGenProcHook.dllは、対象プロセスへのAPIフック等を行うためのものです。imgctl.dll同梱のimgctl.dllは、ルーチェ氏が製作した、プログラマ用の各種画像操作ライブラリです。同DLLはダンプ表示ウィンドウの表示画面を画像ファイルとして保存する際に使用します(メニューの[ウィンドウ]→[ウィンドウ画面の保存とコピー])。hasherezade氏が製作したプログラム解析補助ツールです。プロセスメモリ上からダンプしたモジュールを、PEファイルとして解析しやすいよう内部構成を修正することができます。実装している、モジュールのダンプ機能が使用します。Pontello氏が製作した、ファイル種別判別用ライブラリとその定義ファイルです。これらのファイルは、同梱の汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」(AoZoraSiroNeko.exe)が使用します。これらのファイルのライセンス文書は、当ヘルプの「ライセンス情報」ページに格納しています。プラグイン当ソフトウェアの機能を拡張するプラグインを同梱しています。32ビット版のプラグイン(実体はDLLファイル)は当ソフトウェアのインストールフォルダ直下の、「Plugin」フォルダ内にあります。64ビット版のプラグインは「Plugin64」フォルダにあります。第三者が製作したプラグインも、32ビット版か64ビット版かに応じてこの「Plugin」あるいは「Plugin64」フォルダ内に導入してください。当ソフトウェアでは以下のプラグインを同梱しています。「UHPsample***.dll」と「UHP64_Sample.dll」は、プラグインを製作されたい方向けのサンプルであり、作者のWebサイトでC++言語のソースコードを配布しています。このプラグインはプログラミング初心者の方でも製作可能にするため、仕組みを簡易化してます。配布しているソースコードは、Microsoftが無償で配布しているコンパイラでコンパイル可能です。Mode)」の各種操作用ホットキーを設定するプラグインの試作版)・UHP64_Sample.dll(UsaTest2_x64.exeのプロセスメモリ書き換えおよび、検索・固定化書き換え半自動化のプラグインサンプル)・UHPProcFitter64.dll(上記UHPProcFitter.dllの64ビット版)・UHPSearchHotkey64.dll(上記UHPSearchHotkey.dllの64ビット版)NekoTrip.exe/UsaTest2_x64.exe/BeaEngine.dll/BeaEngine64.dll/capstone.dll/DisAsmSH.dllNekoTrip.exeは、UsaMimi64.exe開発用の補助ツールで、過去のバージョンに同梱していたものです。現在ではNekoTrip.exeの全機能をUsaMimi64.exeが実装しているため、NekoTrip.exeは削除可能です。BeaEngine64.dllはUsaMimi64.exeが逆アセンブル処理に使用するDLLです。BeaEngine.dllはUsaMimi32.exeが逆アセンブル処理に使用します。BeaEngine.dllとcapstone.dllはAoZoraSiroNeko.exeが逆アセンブル処理に使用します。これらのDLLは、公式サイトで配布されているDLL(コード改変なし)を、LoadLibrary関数で動的にロードして使用しています。DisAsmSH.dllも同様にAoZoraSiroNeko.exeが逆アセンブル処理に使用しますが、こちらはWebで配布されているソースコード(ライセンスなし)をAoZoraSiroNeko.exe用にコンパイルしたものです。capstone.dllは、正式版ではない安定性が不十分な「リリース候補版」など新しいバージョンもありますが、そのような非正式版で当ソフトウェア同梱のcapstone.dllを差し替えれば、AoZoraSiroNeko.exeの動作上の不具合を招く可能性があります。UsaTest2_x64.exeは同梱UsaTest2.EXEの64ビット版です。OSに合わせて若干仕様を変更しています。OS上では実行できません。Vista以降で使用するための補助ツールです。スペシャルねこまんま57号は、2種類の改造コード(書き換え自動化用スクリプト)に対応するバイナリファイルの書き換え機能や、1つのバイナリファイルに含まれている複数の画像・音声・動画ファイルなどを切り出す、ファイル抽出機能を実装しています。そのため、当ソフトウェア同梱の汎用ファイルアナライザ「青い空を見上げればいつもそこに白い猫」(同梱AoZoraSiroNeko.exe)と親和性があり併用することで有効活用できます。Vista以降で実装されたセキュリティ関連機能やAPI関数の仕様変更には対応していないため、この補助ツールを製作しました。スペシャルねこまんま57号はすでに開発とサポートを終了しており、この補助ツールも動作やサポートは保証されません。当補助ツールを経由してスペシャルねこまんま57号を起動すれば、非対応OS上で生じるプロセスの列挙やドラッグ・アンド・ドロップ時の不具合が解消されます。当補助ツールを経由するための、ランチャーやショートカットで設定するコマンドラインオプションの例は下記。事前にNeko57Helper.exeをスペシャルねこまんま57号のインストールフォルダにコピーして下さい。/Neko57.EXEその他の注意事項等につきましては、当補助ツールを単体で起動した際に表示される、簡易ヘルプを参照願います。