Windowsアセンブリ(exe、dll、ocx)から関数を取得するためのソリューションを探しています。WMIにはいくつかのツールがあると思いますが、見つかりません。.NETのSystem.Reflection関数に近い必要がありますが、Windows実行可能プラットフォームを個別に分析する必要があります。System.Reflectionは.NETアプリケーションにのみ適用できます。
質問する
195 次
2 に答える
0
完全な署名情報が必要な場合は、これらがオプションです。
- マネージド: リフレクションを使用できます
- COM: COM オブジェクトをエクスポートする一部のバイナリは をサポート
IDispatch
します。これにより、公開された API を照会できます。 - それ以外の場合は、デバッグ シンボルに移動する必要があります。既に述べたように、バイナリは署名データを保存する必要がないため、署名データを保持しません。
DIA
SDKを使用して .PDB ファイルを照会できますが、ほとんどの開発者は完全なシンボル ファイルを提供しないことに注意してください。 - シンボルがない場合は、エクスポートされた関数の名前が取得する最も近いものになります (シンボルが使用できない場合にデバッガーが頼りにするものとまったく同じです)。プログラムでアクセスするには、
PE COFF
仕様を参照してください。
于 2013-12-09T22:38:48.400 に答える
0
リフレクションは特定の言語の機能です。一般的な実行可能ファイルまたはバイナリには、内部の関数に関する (多くの) 情報が含まれていない場合があります。
PE 形式のバイナリには、エクスポートされた関数が一覧表示されます (名前順である必要はありません)。これらは、Visual Studio に付属する というコマンド ライン ツールを使用して表示できますdumpbin
。たとえばdumpbin /exports
、エクスポートされた関数を一覧表示します。
于 2013-02-20T21:11:52.090 に答える