1

プログラムの特定の値を変更できるので、プロセスに DLL を挿入するのが好きです。

dll の唯一のマイナス点は、移植性が高くなく、移植性を高めると多くのコードが消費されることです。

リソースに格納されているアプリケーションを (プロセスに) 注入し、後で実行することは可能ですか?

もしそうなら、どのコード部分がdllの注入と異なる可能性がありますか?

4

1 に答える 1

0

あなたの質問には「Windows」というタグが付けられていませんが、言葉遣いから、あなたがWindowsを参照していると思います。

必要なアクセス権があれば、実行可能ファイルを別のプロセスに挿入することができますfork。cygwin での実装は概念実証です。Windows はfork、少なくともパブリック API で公開されていない、のようなものをサポートしていません。Cygwin は、新しいプロセスを作成し、独自のプロセスを他のプロセス (すべてのデータを含む) に注入することで実装します。代わりにリソースから読み取ることと、それを注入することはほぼ同じです。

違い (および困難) の 1 つはイメージ ベースである可能性があり、これは (通常) Win32 では常に同じです。DLL の場合、リベースされるのは通常のことですが、実行可能ファイルの場合はそうではありません。一方、既存のプロセスのコードに加えてコードを挿入する場合は、必要なアドレスが空いていない可能性があります。

于 2012-07-01T17:29:48.190 に答える