実行可能ファイルにコンパイルする
cc -o pause -no-pie pause.c
オプションの構文
cc コマンドの構文を以下に示します。
% cc [<オプション>] <ファイル名> [<ライブラリ>]...
<オプション> は、「cc オプション」で説明している各種のオプション (複数指定可) です。
<ファイル名> は、実行可能プログラムの作成に使用するファイル名
(複数指定可) です。
cc は <ファイル名> で指定されたファイルリストに含まれている C ソースファイルとオブジェクトファイルのリストを受け取ります。生成された実行可能コードは、-o オプションを使用した場合を除いて a.out に出力されます。-o オプションを使用した場合には、コードは -o オプションで指定したファイルに出力
されます。
...
<ライブラリ> は複数の標準ライブラリやユーザー提供のライブラリです。ライブラリには関数、マクロ、そして定数の定義が含まれます。
出典
気づき
とりあえずコンパイルされ、目的プログラムになるのかな。
pauseというファイルを開くと人間には読めない内容になっている。これが目的プログラムなのか。
実行可能ファイルの情報を見る
readelf -h 実行可能ファイル
実行ファイルはlinuxの通常ファイルはELF
というフォーマットになっています。ELFの各種の情報はreadelfというコマンドによって得られます。
出典
readelfとは
DESCRIPTION
readelf displays information about one or more ELF format object
files. The options control what particular information to display.
elffile... are the object files to be examined. 32-bit and 64-bit ELF
files are supported, as are archives containing ELF files.
This program performs a similar function to objdump but it goes into
more detail and it exists independently of the BFD library, so if
there is a bug in BFD then readelf will not be affected.
...
-h
--file-header
Displays the information contained in the ELF header at the start
of the file.
出典
man readelf
和訳
readelfは、1つ以上のELFフォーマット・オブジェクト・ファイルに関する情報を表示する。ファイルに関する情報を表示します。 オプションは、表示する特定の情報を制御する。
elffile... は、検査するオブジェクト・ファイルである。 32 ビットおよび 64 ビットの ELFファイルがサポートされており、ELFファイルを含むアーカイブもサポートされている。
このプログラムは、objdumpと同様の機能を実行しますが、より詳細な情報を表示します。このプログラムは、objdumpと同じような機能を実行しますが、より詳細で、BFDライブラリとは独立して存在します。BFD にバグがあっても、readelf は影響を受けません。
...
ファイル先頭のELFヘッダーに含まれる情報を表示する。
出典
deelp
感想
まだまだ知らないことばかりだ。