システムでDLLの黒い手

  
を引き出します。Windowsでは、ほぼすべてのアプリケーションがDLL(ダイナミックリンクライブラリ)ファイルを使用していますが、その正常の有無は正常に動作することができますソフトウェアに関連しています。多くのソフトウェア障害もそれに直接関係しています。しかし、アプリケーションは何十ものDLLプログラムを呼び出すことがよくあります。

事件の再生:不正な操作をすると、Windows XPの「Search Assistant」が「ホワイトボード」になるだけでなく、「コントロールパネル」の「ユーザーアカウント」も「フェイスレス」と表示されます。 [スタート]→[ヘルプとサポート]の順にクリックすると、マウスが点滅しますが、[ヘルプとサポート]プログラムインターフェイスの痕跡はありません。

導入事例:システム内のDLLファイルがログアウト、紛失、または破損したと考えています。しかし、Windowsのほとんどすべてのプログラムは、最大で数百のDLLファイルを呼び出す必要があります通常の方法で分析を1つずつ探す場合、それは干し草の山から針を見つけることと同じです。 3つのプログラムが同時に "構成解除"されていることを考えると、それらは同じ(または複数の)DLLファイルの影響を受けるはずです。これを行うには、上記の3つのプログラムで一緒に使用されているDLLファイルを見つけ、「舞台裏」を見つけなければなりません。

検索と調整

ステップ1:検索アシスタントから始めて、「人生経験」を見つけます。 Windows XPがインストールされている別のコンピュータで[検索アシスタント]を開き、Ctrl + Alt + Delキーを押して[タスクマネージャ]を開き、[アプリケーション]タブで[検索アシスタント]を選択し、右クリックして[切り替え]を選択します。プロセスには、ハァッ、それはExplorer.exe(リソースマネージャ)の一部であることが判明した。

手順2:「ヘルプとサポート」がプロセスHelpctr.exeに属していることを確認するために同様の方法を使用しますが、「ユーザーアカウント」では、ホームプロセスmshta.exeを見つけるには観察と比較の方法しか使用できません。

ヒント

ユーザーアカウントを開くか閉じることで、タスクマネージャでの変更を比較することで、所属するプロセスを確認することも、検索アシスタントを開くこともできます。 [コマンドプロンプト]に「tasklist /fo table> C:\\ acc1.txt」と入力し、プログラムを終了した後、[コマンドプロンプト]に「tasklist /fo table> C:\\ acc2.txt」と入力します。次に、fcコマンドを使用して "fc C:¥acc1.txt C:¥acc2.txt> C:¥acc.txt"を比較します。比較によって得られる余分な項目は、プログラムが属するプロセスです。

手順3:コンピュータを再起動しますソフトウェアLISTDLLSを確認してください。ここでソフトウェアをダウンロードし、次にlistdlls.exeをC:¥Windowsに移動し、Ctrl + Rを押して「ファイル名を指定して実行」ボックスを開き、「cmd」と入力して「コマンドプロンプト」と入力します。

listdlls -r explorer .exe> C:\\ explorer1.txt

次に[検索アシスタント]を開き、[コマンドプロンプト]にもう一度「listdlls -r explorer.exe」と入力しますC:\\ explorer2.txt

最後にfcコマンドと比較します。< Br>

fc C:\\ explorer1.txt C:\\ explorer2.txt> C:\\ explorer.txt

これにより、C:\\ explorer.txtファイルが開きます比較後の追加ファイルは、検索アシスタントによって呼び出されたDLLファイルです。

ヒント

ListDllsの使い方は次のとおりです。listdlls [-r] [processname pid]またはlistdlls [-r] [-d dllname]

手順4:再起動コンピュータで、 "listdlls -r helpctr.exe> C:\\ helpctr.txt"を使用して、[ヘルプとサポート]で使用されているDLLファイルを取得します。ここでの再起動は、メモリから使用されていないDLLファイルをアンロードすることです。

手順5:再起動し、コマンド "listdlls -r mshta.exe> C:\\ mshta.txt"を使用して、 "ユーザーアカウント"で使用されているDLLファイルを取得します。

最後の "本当の殺人"のフィルタリング

ファイルディレクトリに "srchasst"が含まれているexplorer.txt内のDLLファイルを分析します。これらのファイルはすべて "検索アシスタント"によって呼び出されます。残りのファイルは、C:\\ Windows \\ system32ディレクトリ内のsxs.dll、vbscript.dll、およびJScript.dllファイルです。 "search"メソッドを使用すると、上記のファイルがhelpctr.txtファイルとmshta.txtファイルに存在することがわかりますが、 "犯人"は3つではないようです。

元のコンピュータに戻ると、3つのファイルすべてが存在し、破損していないことがわかりました。 regsvr32コマンドで登録してください。もちろん、(コマンドregsvr32 JScript.dllを使用して)jscript.dllファイルを登録した後、「ホワイトボード」プログラムはついにその美しい「顔」を復元しました。

Xiaobianに言えることがいくつかあります。

システム内の多くのソフトウェア障害はDLLファイルが原因です。これまでは、DLLファイルが失われたかどうかについて多くの注意を払っていましたが、実際には登録が成功しなかった理由はまだたくさんあります。この記事に記載されている方法を読んだ後、私達は容易に失敗を引き起こしたDLLファイルを排除して、そして最後に問題を解決することができます。

Copyright © Windowsの知識 All Rights Reserved