それは、Win32アプリケーション可能にexternである(唯一のexeファイルを持っている)[閉じました]

StackOverflow https://stackoverflow.com/questions/1488001

質問

Iは、ソースコードを使用しないアプリケーション(のWin32 EXEファイル)を有する。

これは、C#アプリケーションを書いて、それのWin32 .EXEファイル内のいくつかの機能を再利用することはできますか?

役に立ちましたか?

解決

あなたが実行することができます。

dumpbin.exe /exports [your-win32.exe]

とそれがエクスポートどの機能参照してください。そして、あなたはのLoadLibrary(のC#の同等であるものは何でも)を使用することができます()のGetProcAddress()これらの機能を呼び出します。

もちろん、あなたがそれらを正しく呼び出すためにこれらの関数のシグネチャを知る必要があります。すなわち、数及びパラメータの順序、など。

他のヒント

これはあなたが探しているものであれば、

は分からないのですが、他のexeファイルは、GUIを持っている場合、あなたはおそらくそれにメッセージを送信することにより、いくつかのものを行うことができます。ただ、あなたは他のアプリでやりたい、スパイ++を実行し、完了したら、ログを見て。特別なコントロールが使用されていない場合は、あなたが望むのコントロールのハンドルを取得し、それらに適切なメッセージを送信することにより、そのGUIを操作することができます。ユーザーは、あなたが他のアプリを実行している知っているしたくない場合は、別のデスクトップ上で実行することができます。

あなたが利用することができます別のオプションは、他のexeファイルのプロセス中にあなた自身のスレッドを実行すると、利用可能なさまざまなIPC技術の一つで、あなたのアプリに戻って通信しています。多くの質問がそうちょうどそれを見て回る、リモートスレッド注入についてはこちらを頼まれています。

運がよけれ場合は、

最後に、あなたが必要な機能は、エクスポート機能として、またはCOMインターフェイスのいずれかとして、exeファイルで使用するDLLの1に実際にあります。プロセスエクスプローラかそこらを使用して、実行時に見てみましょう、とモジュールのいずれかが面白そうかどうかを確認します。限り、それは他のモジュールを使用することになると、DLLが明らかにはるかに簡単です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top