0

プロセスに独自の C/C++ dll を挿入し、エントリポイントから開始するために利用できるソリューションはありません。プロセス ソケット送信関数をフックし、そこに独自のコードを貼り付ける必要があります。Linuxで利用できますか?

ありがとう!

4

2 に答える 2

5

これを行う一般的な方法はLD_PRELOAD、プログラムを起動する前に環境変数を設定することです。たとえば、tsocksを参照してください。ただし、セキュリティ上の理由(パスワードをスヌープする可能性があるなど)により、一部のプログラムではこれが無効になることに注意してください。たとえば、gnupgは機能LD_PRELOADしません。

実行中のプログラムに注入したい場合、それははるかに困難です。これはで行うことができますptrace(たとえば、gdbでアタッチしてdlopenを呼び出す)。ただし、アタッチしたときにプログラムがどのような状態であるかがわからないため、信頼性が低くなります。

于 2012-02-04T13:05:04.263 に答える
0

実行中のプロセスに共有ライブラリを挿入するために使用できるツールであるpyinjectorを作成しました。

インストールするには、単に実行しpip install pyinjectorます。

使用法:inject <pid> <dll_path>

于 2020-08-02T07:27:27.813 に答える