タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

elfに関するtanakaBoxのブックマーク (4)

  • 最小限のELF | κeenのHappy Hacκing Blog

    κeenです。 先日の記事で言及した最小限のELFが需要ありそうだったので解説してみます。 コンパイラを作るときの参考にしてみて下さい ELFはExecutable and Linkable Formatを表わし、Linuxなどで標準の実行可能ファイルのフォーマットとなっています。 なんらかの形でこのファイルを生成するのがコンパイラの最終目標となります。 一般にはアセンブラまで吐いて外部のアセンブラやリンカにELFファイルの生成を任せることが多いのですが、自作するなら最後までやりたいという人向けにとっかかりになる最小限のELFファイルを解説します。 まずはこのファイルを生成するのを目指して、後から色々追加していけばインクリメンタルにできるよね、という訳です。 一部、「どうしてかは分からないけどこうしたら動く」みたいな箇所もあるので詳しい人がいたら教えて下さい。 全体構成 プログラムそのもの

    最小限のELF | κeenのHappy Hacκing Blog
  • Understanding the ELF

    I wrote an ELF binary which, when run, prints itself on standard output: $ ./quine > quine2 $ md5sum quine quine2 5d24b05850f451b5b1e1a87a7c5d57c3 quine 5d24b05850f451b5b1e1a87a7c5d57c3 quine2It doesn’t “cheat” by reading its own file. Instead, it uses how ELF binary files are loaded into memory. To explain how the program works, I’ll show you it byte-by-byte. Along the way, we’ll learn about file

    Understanding the ELF
  • プログラムはどう動くのか? 〜 ELFの黒魔術をかいまみる

    tanakaBox
    tanakaBox 2010/01/04
    鵜飼さんの文章。Binary Hacks片手に読もう。
  • ELF Format

    a.out形式はUNIXで長い間使われてきたが、Unix System Vの登場時に、クロスコンパイルや動的リンクなどに、対応するためにより良い形式が必要だとして、ELF(Executable and Linking Format)が作られました。 ELFは、再配置可可能オブジェクト・実行可能・共有オブジェクト・コアという4種類のファイルがあます。 再配置可可能オブジェクト 再配置可可能ファイルは、アセンブラやコンパイラが作成する、オブジェクトファイル 実行可能 実行可能は、再配置が全て完了し、シンボルも解決してある(実行時に解決される、共有ライブラリのシンボルは除く) "lsコマンド"のような実行可能なファイル 共有オブジェクト リンカ用のシンボル情報と実行時に使われるコードを格納する、共有ライブラリ等のファイル コア ELF ファイルフォーマットを使っている実行可能ファイルはELFヘッ

    tanakaBox
    tanakaBox 2007/12/30
    elfフォーマット解説。
  • 1