web-dev-qa-db-ja.com

アプリケーションが実行されるたびに.soをプリロードする方法は?

私はこの記事でLinuxの下でフックをうまく使用しました: http://hackerboss.com/overriding-system-functions-for-fun-and-profit/

ここで、別のアプリケーションから呼び出されたかどうかに関係なく、espeakが読み込まれるたびに.soファイルを読み込むようにします。それ、どうやったら出来るの?

2
blez

espeakバイナリをespeak-realのようなものに移動し、exec'ing LD_PRELOADの前にespeak-realを設定する小さなスクリプトに置き換えることができます。

#! /bin/bash
export LD_PRELOAD=/your/lib.so
exec espeak-real "$@"

(stdin/out/errリダイレクトはそれ自体を処理します。)

8
Mat