静的解析に挑む前のおさらい

単語のおさらい

バイナリファイル

  • コンピュータ内に記録されているファイル全般のことを指して言う
  • 自分としては、実行ファイル(exe,dll,so,elf..)みたいなことを指すと思っていた

アセンブリ言語

  • 機械語を人間に読める形で表現した低水準言語
  • 静的解析では、デバッガを用いてこれらを読んで解析していく

ニーモニック

  • コンピュータが実行可能な機械語(マシン語)のプログラムを、人間が理解・記述しやすいように簡略化した英単語や記号の組み合わせに置き換えたもの

オペコード

  • 機械語の1個の命令の部分で、実行する操作 (operation) の種類を指定する部分のこと
  • 例: CPU→メモリ : PUSH     論理演算子  : AND、OR、XOR

オブジェクトコード

  • コンパイラソースコードを処理した結果生成される、コード生成の結果であるバイナリコードを含む中間的なデータ表現のファイル

アセンブラ

  • アセンブリ命令ニーモニックをオペコードに変換し、シンボル名をメモリ位置や他の実体に変換することでオブジェクトコードを生成する