glibc私はそのコードを変更して使用できるようにダウンロードしました。だからちょうどそれを再生するために、printf stdio-commonglibcのprintfを「Can you see me?」に変更しました。私はのglibcをコンパイルしてからprintfのを使用してサンプルプログラムを実行するには、このglibcのディレクトリにのlibc.so とLD_PRELOADを使用し、その変更を行った後glibcの変更が動作しない
int
__printf (const char *format, ...)
{
va_list arg;
int done;
va_start (arg, format);
done = vfprintf (stdout, "Can you see me?", arg);
va_end (arg);
return done;
}
。しかし、私はまだprintfの印刷が正常に表示されている、つまり私が行った変更は反映されていません。私はここで何をしていますか?
"hello"などを印刷するように重複する行を変更します。あなたはva_listを2回処理していますが、それはうまくいかず、最初の呼び出しはそれを使い果たします。 –
私はキャラクターの代わりにキャラクター+ 1を印刷することが以前にいくつか変更を加えましたが、それはあまり効果がありませんでした! – MetallicPriest
'ldd。/ test-program'とは何ですか?また、プログラムを実行する前に 'export LD_DEBUG = files'を実行すると、有用な情報が得られます。 –