実行可能ファイルの機能を呼び出すことはできますか?

実行可能ファイルの機能を呼び出すことはできますか?

プログラムの内部作業方法/関数を直接呼び出して、実行可能ファイルのGUIをバイパスできるかどうか疑問に思います。

実行可能ファイルは、Linux上で動作するGnomeまたはKDEインターフェースを持つC / C ++プログラムであると仮定します。

答え1

これは特別な状況で行うことができます。説明は、Cダイナミックリンクローダを介してプラグインを動的にロードするのと似ています。man dlopen詳細を理解してください。一般に、いわゆるコードは「場所に依存しない」にコンパイルする必要があるため、特定のプログラムでは運が悪いことはほとんど確実です。

あなたは見ることができますユーザーモードの実行コードを書くと、これを行う方法についてのヒントが得られますが、説明されているようには実行されないことはほぼ確実です。

答え2

これはまだテストされていません。私は試してみます。
それで、それが答えと見なされるかどうかはわかりません。

デバッガを使用して実行を追跡する場合(耐久性のある作業)。実行したい関数のアドレスを書き留めた後。スクリプトを使用してリモートでデバッガを制御できます。ほとんどのアプリケーションでは、まずいくつかの初期化手順を実行する必要があります。

会議:

  1. デバッガの起動
  2. 実行ファイルのロード
  3. アプリケーション初期化後のブレークポイントの設定
  4. 走る
  5. ブレークポイントに到達したら、その関数にジャンプします。

関連情報