0

Windowsアセンブリ(exe、dll、ocx)から関数を取得するためのソリューションを探しています。WMIにはいくつかのツールがあると思いますが、見つかりません。.NETのSystem.Reflection関数に近い必要がありますが、Windows実行可能プラットフォームを個別に分析する必要があります。System.Reflectionは.NETアプリケーションにのみ適用できます。

4

2 に答える 2

0

完全な署名情報が必要な場合は、これらがオプションです。

  • マネージド: リフレクションを使用できます
  • COM: COM オブジェクトをエクスポートする一部のバイナリは をサポートIDispatchします。これにより、公開された API を照会できます。
  • それ以外の場合は、デバッグ シンボルに移動する必要があります。既に述べたように、バイナリは署名データを保存する必要がないため、署名データを保持しません。DIASDKを使用して .PDB ファイルを照会できますが、ほとんどの開発者は完全なシンボル ファイルを提供しないことに注意してください。
  • シンボルがない場合は、エクスポートされた関数の名前が取得する最も近いものになります (シンボルが使用できない場合にデバッガーが頼りにするものとまったく同じです)。プログラムでアクセスするには、PE COFF仕様を参照してください。
于 2013-12-09T22:38:48.400 に答える
0

リフレクションは特定の言語の機能です。一般的な実行可能ファイルまたはバイナリには、内部の関数に関する (多くの) 情報が含まれていない場合があります。

PE 形式のバイナリには、エクスポートされた関数が一覧表示されます (名前順である必要はありません)。これらは、Visual Studio に付属する というコマンド ライン ツールを使用して表示できますdumpbin。たとえばdumpbin /exports、エクスポートされた関数を一覧表示します。

于 2013-02-20T21:11:52.090 に答える