title.png

^<< 2007.10/1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>$

Trackback の仕組みはありませんので、コメントにでも残していただくと嬉しいかも、です。

(2007.10.25)

Mach-O と ELF とか PE とか

まだADC にあるリファレンスを斜め読みしかしてないんだけど、こういうことでいいんだろうか。 (間違い指摘大歓迎)

  • Mach-O の __IMPORTセグメントは、ELF でいうところの GOT、あるいは PE でいうところの IAT に相当する。
  • __IMPORTセグメントには 2種類のセクションがある
    • __jump_tableセクションは ELF の GOTに近いイメージ
      • 各関数のランタイムで初回の呼び出し時にスタブアドレスと、実際の関数アドレスが置き換わる
    • __pointersセクションは PE の IATに近いイメージ*1
      • 動的ローダによりロードされたタイミングでアドレス群が一気に書き換えられる

*1ただし、ELF の GOTも遅延決定ではなく、最初に全てを解決する指定も出来る

ツッコミ