問題タブ [dbghelp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dll - 他のすべてのプロセスに dbghelp を挿入しているアプリを追跡する方法は?
特定のシステムで、dbghelp.dll がすべてのプロセスにロードされているようです。これは通常の動作ではないと考えているため、他のアプリケーションによって注入されていると推測しています。どのアプリがこれを行っているかを追跡する方法はありますか? 実際の問題は、このインジェクションにより、system32\dbghelp.dll がインストール済みのバージョンより先に読み込まれることです。これは問題です。古い dll には見つからない SymGetSymbolFile を含む、インストール済みのバージョン 6.7.5.0 をロードする必要があります。現在、他のアプリ、ウイルス対策ソフトウェア、またはウイルスが CreateProcessWithDll() を呼び出して、実行時にすべてのアプリに dbghelp.dll をロードしているのではないかと推測しています。誰がこれを行っているかを把握する方法が必要ですか?
c++ - DIA SDK から非カーネル (ユーザーがインポートした) dll をフィルタリングする方法は?
ユーザーがインポートしたすべてのdllを具体的にフィルタリングする必要があります。DIA SDK は、明示的にリンクされていないすべてのカーネルおよびその他のインポートを含む SymTagCompiland の下にあるすべてのモジュールを提供します。
実行時またはコンパイル時に明示的にリンクされている依存 Dll (モジュール) のみが必要です (プロジェクト構成のリンカーの入力領域で説明されています)。
これをフィルタリングするにはどうすればよいですか?
よろしく、 ウスマン
c++ - DIA SDKから仮想テーブルアドレスを計算/抽出できますか?
DIA SDKからvtable関数を実装している場合、タイプのvtableの開始ベースアドレスを抽出できますか?
よろしく、ウスマン
visual-c++ - DIA SDK get_guid がクラス guid に対して常に Bad ptr(0x000) を返すのはなぜですか?
COM バイナリ (dll/exe) の型とインターフェイスを列挙するために DIA SDK を使用しています。しかし、get_guid は、そのコンポーネント内で使用されるすべてのクラス (CoClass & インターフェイス) に対して常に Bad Ptr(0x0000) を返しますか?
coクラスとインターフェースのpdbからguidを取得できる他の方法。
よろしくウスマン
c++ - dbgHelp 新バージョン
DbgHelp のバージョンを 5.1 から 6.11 にアップグレードしたいので (5.1 はちょっとバグがあると聞きました)、"Debugging tools for windows" をダウンロードしました。 "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib")、DbgHelp.lib しか見つかりません。DLLはどこにあるはずですか?:)
ああ... DLL を持っていない場合、どうすれば dbgHelp のバージョンを知ることができますか?
c++ - DLL のエクスポートされた関数の一覧表示
dbgHelp を使用して、エクスポートされた DLL の関数 (およびエクスポートされていないメソッドも) を (C++/Windows で) リストする方法を探しています。
どの方法でそれができるか知っている人はいますか?
visual-studio-2005 - .dll 関数を使用して、アプリケーションが Visual Studio によって作成されていないミニダンプを生成する
Visual Studio 2005 (アンマネージ C++) で生成された .dll ファイルがあります。DLL 内のさまざまな関数でエラーを検出し、DLL 内の別の関数を呼び出してミニダンプを生成できます (dbghelp.dll を使用)。
これは、DLL を使用するアプリケーションが VS2005 で作成されたプログラムでもある場合に完全に機能します。ただし、National Instrument Measurement Studio/CVI を使用してアプリケーションを作成すると (単純な C で、問題ではありません)、.pdb ファイルが取得されません (驚き!)。その結果、生成された .dmp ファイルを VS2005 で開くと、アプリケーションがデバッグを使用してビルドされていないことがわかり (ただし、ビルドされていました!)、表示されたスタックは役に立たないことがわかります。
この DLL の他の多く (40 以上) の関数は、CVI アプリケーションによって正常に使用されます。これは、非 VS アプリケーションから DLL 関数へのアクセスが成功したことを示しているようです。
National Instruments は明らかに DrWatson からの完全なダンプを使用できるので、それは可能であるに違いありません。
.dmp ファイルを使用するために必要なものを入手する方法を知っている人はいますか?
要約すると、.NET なし、関数アクセスは問題ありません。生成されたミニダンプ ファイルは Visual Studio では使用できないようです。
ご協力いただきありがとうございます。
c++ - C++とコンテキスト構造
C ++のCONTEXT構造体のフィールドに関する情報がどこにあるか知っている人はいますか?
c# - C#でネイティブDLLインポートをプログラムで読み取る方法は?
ネイティブ DLL をプログラムで分析してそのインポートを読み取るにはどうすればよいですか?
[編集: 私の元の質問は、欠陥のあるコードの巨大なチャンクとともに、次のように見えました。より正しいコードについては、以下の回答を参照してください。]
このリンクにある C# コードは、ネイティブ DLL のインポートを出力するためのものです。
元の例のターゲットである MSCOREE.DLL を使用してサンプル コードを実行すると、すべてのインポートが正常に出力されることがわかりました。しかし、GDI32.DLL や WSOCK32.DLL などの他の dll を使用すると、インポートが印刷されません。たとえば DUMPBIN.EXE が行うように、すべてのインポートを出力できるこのコードには何が欠けているのでしょうか?
c# - C#で管理されていないdllのエクスポートテーブルを表示する
現在、アンマネージDLLからエクスポートテーブルを表示できるC#アプリケーションを作成しようとしています。私の問題は、必要なすべてのポインターを取得すると、APIから提供された情報をループする方法がわからないことです。これが私が今持っているものです:
私の最大の懸念は、構造のマーシャリングの一部が間違っている可能性があることです。しかし、全体として、私はここからどこに行くべきかわかりません。誰かが私にいくつかの援助を提供できますか?