タグ

ブックマーク / siguniang.wordpress.com (1)

  • LD_PRELOADで動的ライブラリ関数を上書きする

    動的リンクされたプログラムでは、同じ関数が複数のライブラリで定義されている場合、最初に見つかった関数が利用される。 環境変数 LD_PRELOAD で指定した共有ライブラリは最優先で読み込まれるため、簡単にプログラムの挙動を変えることができる。 実験用のプログラム まずは乱数を10個表示するだけの簡単なプログラム(random_num.c)を用意。 /* random_num.c */ #include <stdio.h> #include <stdlib.h> #include <time.h> int main(){ srand(time(NULL)); int i = 10; while(i--) printf("%d\n",rand()); return 0; } 実験用プログラムの実行 コンパイルする $ gcc random_num.c -o random_num $ ldd

    LD_PRELOADで動的ライブラリ関数を上書きする
  • 1