3

問題:

別の c プログラムのヒープまたはデータ セクションに asm 命令として格納されている重要な c プログラムを実行します。

私の進捗状況:

何かを stdout に出力する一連の簡単な命令を実行しました。命令はヒープに格納され、命令を含むページが実行され、生データが関数であるかのように呼び出されるようにしました。これはうまくいきました。

次に、静的にリンクされた c プログラムを指定して、バイナリを読み取り、別の c プログラムからメモリ内にある間にメイン関数を実行できるようにします。

問題は次のとおりだと思います: * main 関数コードがある場所にジャンプする * リンク時に作成されたバイナリ ファイルのアドレスを変更して、コードが現在メモリ内にある場所に相対的になるようにする

私のアプローチが良いかどうか、または何か重要なことを見逃していないかどうか、そしてそれに対する最善の方法を教えてください.

ありがとうございました

4

1 に答える 1