Windows system >> Windowsの知識 >  >> Windows Serverシステムのチュートリアル >> Windows Serverチュートリアル >> Win2kの "秘密兵器"モジュール解析ツール

Win2kの "秘密兵器"モジュール解析ツール

  
Technologeeko

Windowsの多くのアプリケーションには、実行可能なEXEファイルだけでなく補助モジュールも必要であることはよく知られていますこれらのモジュールは多種多様で、最も有名なものはダイナミックリンクライブラリ(DLL)です。 ocx、sysなどアプリケーションを16ビット、32ビット、64ビットのプログラムに分割できるのと同様に、モジュールも16ビット、32ビット、および64ビットのモジュールに分割されています。アプリケーションや実行可能ファイルを削除すると、関連するダイナミックリンクライブラリやモジュールをきれいに削除することができません。したがって、Windowsを使用する多くの人は、DLLファイルに注意を払い、不要な部分を正確に削除する、つまりいわゆるシステムの減量を完了するために、有用で有用でないものを検討しますが、これはこの議論の中心ではありません。私たちの目標は、モジュールファイルを別の観点から研究することです。

はじめに

Windows 2000 Professionalのサポートツールには、モジュールファイルを分析するためのツールがあり、英語の名前はDependency Walker、文字通りの翻訳は "Dependent Cruiser"です。中国語表現の特徴検証を使用して参照資料を表示することによって、それを「モジュール解析ツール」に変換することがより適切です。システムの減量という上記の目的とは異なり、モジュール解析ツールは、モジュールの所属、作成者、関数インタフェース、呼び出し関係、さらにはモジュールファイルの生成に使用されたプログラミング言語、さらにはプログラムチェーンで使用されたリンカバージョンを検出できます。以降同様に、解析された所属はディレクトリツリーのようなアイコン形式で表示されます。もちろん、フルパス、基本アドレス、バージョン番号、コンピューターの種類、デバッグ情報、その他のファイルの情報と共に、少なくとも実行中のモジュールで使用する必要がある関連ファイルを表示することもできます。これはすべての側面として説明できます。

この情報の性質上、この種の情報がシステム管理者、システムテスター、プログラマー、および自動インストールスクリプト作成者にとってより役に立つことを理解することは難しくありません。一般のユーザーにとっては、使用量は少なくなります。しかしそれは無駄ではありません。一般的なユーザーは、これらの分析結果を使用して、モジュールに起因するシステム障害を排除することができます。モジュールが見つかりません。

2。無効なモジュールです。

3。出口/入り口コロケーション・エラーの実行

4。ループエラー

5。モジュールとコンピュータの種類が正しく一致していません。

このツールはwin2kのサポートツールですが、win9x、winNT3.51、winNT4.0オペレーティングシステム環境、さらにはWindows CEでも実行でき、Dependency Walkerの最新バージョンは2.0です。このバージョンは、32ビットまたは64ビットモジュールの解析のみをサポートし、16ビットモジュールはサポートされなくなりました。
<p> b。使用方法わずかに

他のツールとは異なり、このツールにはGUIバージョンしかなく、コマンドラインバージョンはありません。すでにサポートツールがインストールされている場合は、「スタート - >プログラム - >サポートツール - >ツール - > Dependency Walker」の順に選択します。これも英語のインタフェースツールであり、参照用の英語のヘルプファイルがあります。使い方を簡単に紹介しましょう。

1.最初にマウスでクリックします。 開く(')

2。解析するEXE、DLL、OCX、またはSYSファイルを開き、見つかったらファイル名をダブルクリックします。

3.ダブルクリックすると、元の空のウィンドウがただちに「ライブ」され、選択したモジュールの分析結果が表示されます。次の図(図1)は、使用しているマシン上のSnagIt5メインプログラムSnagIt32.exeを分析した結果です。写真の長方形または楕円形の色付きのボックスは私が追加したもので、以下の説明でロゴとして使用することを目的としています。

合計5つのウィンドウ、5色の長方形の箱で識別されます。

1.赤いワイヤフレームのウィンドウ、その中のコンテンツはディレクトリツリーと同じように表示されます。モジュール間の関係は、分岐を展開または折りたたむためにノード上の "+"または " - "をクリックしてください。これは実際にはモジュールの呼び出し関係を示しています、例えば、有名なKERNEL32.DLLは複数の場所に現れます、すなわち、このモジュールは複数回または複数回呼び出されます。

2.青いワイヤーフレームウィンドウ。表示される情報は、選択されているモジュール(つまり、赤いワイヤフレームの青いカーソルで選択されているモジュール)です。情報は、シリアル番号、手がかり番号、機能、およびログインポインタです。

3。緑色のラインボックスは、C ++言語に基づいて解析されたモジュール情報を示しています。プロジェクトは上記と同じですが、方法が異なります。最も明らかなものは、元のプログラムがC ++環境開発モジュールで使用されるC ++関数のリストです。名前。プログラマがモジュール分析を実行するのに便利です。残りは上記と同じです。

4.これは最初の赤いワイヤフレームコンテンツに対応するウィンドウですが、含まれている情報はより詳細です。このウィンドウには、情報の照合結果が次のように表示されます。

プロジェクト名概要プロジェクト名概要モジュール名DLLファイル名先頭アドレスアドレスファイル(16進数)タイムスタンプファイル作成時刻実アドレス(有効な情報は表示されません)ロード順を解釈せずにファイルサイズを16進数で表した接続時間フラグファイルのリンク時間の実際のサイズ一般に、ロード属性が読み取り専用の隠しファイルであるかどうかだけを示します。製品バージョンの真のチェックサムは、アイコンファイルのバージョンの目的を確認するためにも使用されます。CPUタイプは、リンカバージョンサブシステムがシステムオペレーティングシステムのバージョンシンボルに属することを説明する必要はありません。 16ビットモジュールファイルを選択した場合、ツールは16ビットモジュール解析をサポートしていないため、このウィンドウには関連するエラーメッセージが表示されます。

モジュールファイルを解析すると、メニューに表示される項目は上記の3つ以上になります。編集、ウィンドウ、およびプロファイルです。編集は使いやすいです。 Windiwsの役割は言うまでもありません。図2では、プロファイルはシアンの楕円形のボックスでマークされていますが、これはいわゆる「コンターファイル」を作成するためのオプションです。

図2に示すメニュー項目では、使い方を1つずつ紹介するのは難しいため、完全に紹介する必要はないため、2つの主要項目のみを紹介します。表示:どの項目の解析情報を表示するかを決定します開封後の状況を図3に示します。システム情報などのコンピュータ環境に関する情報や、ツールバーなどのウィンドウレイアウトなど、表示できる項目はさまざまです。ステータスバーなど、選択したモジュールの詳細については、必要に応じて対応する項目をマウスでクリックすると、対応する情報を表示できます。

2.プロファイル:「等高線ファイル」を作成します。図4はアイテムをクリックした後に表示されるダイアログボックスです。対応するパラメータが入力され、リストされた項目が選択されている限り、対応するプロファイルファイルを生成することができます。プロファイルの役割と関連する知識については、対応する参考資料を自分で見つけてください。

C.まとめ

Dependency Walkerは、特にプログラミングにおけるダイナミックリンクライブラリプログラムのデバッグのために、多くの情報を解析することができます。このツールは詳細な英語のヘルプファイルを提供します。ヘルプファイルはDependency Walkerが開いているときに使用できますが、Dependency Walkerが開いていない場合でも単独で使用できますヘルプファイルを開くためのパスは、ツールヘルプにあります。

Copyright © Windowsの知識 All Rights Reserved