Creature Comforts

慢性的中二病

BIOS DISASSEMBLY NINJUTSU UNCOVERED Chpater3

Bios Disassembly Ninjutsu Uncovered (Uncovered Series)

Bios Disassembly Ninjutsu Uncovered (Uncovered Series)

  • [BIOS Disassembly Ninjutsu Uncovered] P.61 3章から posted at 06:06:03
  • p.62 BIOSはBare Metalソフトウェア マシンに直接関わるインターフェイスを持つ posted at 06:06:54
  • p.62 BIOSを使うようなコードはFlat Binaryでなくてはならない。Flat Codeとは実行可能なファイルフォーマットやHeaderなどがないかきかたである posted at 06:09:37
  • p.63 BIOS patchのコードを書いて、 nasm -fbin tweak.asm -o tweak.bin を実行 posted at 06:41:38
  • 作成したBinaryファイルをみるソフトについて迷い中。ComandPromptでWindows7で64bit対応しているやつ。WindoxとCUIの相性が悪すぎる! posted at 07:03:44
  • 3.2 BIOS-Related Software Development with GCC p.67 posted at 07:26:48
  • P.67 高いレベルへの抽象化の処理を行う必要もある。 BIOS pluginやROM Binary中の引渡し等 posted at 07:29:05
  • GCCは多才なコンパイラ ①インラインコンパイラC/C++内にアセンブリの実行が可能 ②GAS(Assembler)はGNU LD Linkerとの連携がシームレス ③Lnker Scriptもサポート posted at 07:33:45
  • P.68 Linker ScriptはすべてのLinking プロセスをコントロールする。GNUライブラリとの結びつきがよい。 posted at 07:38:39
  • 実行バイナリを得るまで二つのルートがある。 ①ソース → Object File → LD linker → Executable Binary ②ソース → Object File → LD linker → Objet file → Objcopy → Executable posted at 07:40:29
  • この本では2番目を取り扱う。PCI expresion ROMの項目で扱うため。 posted at 07:41:38
  • P.69 Linker Scriptは通常Text File. 詳しくは7章で扱う。makefileとLinker Scriptは強い結びつきがある posted at 06:40:41
  • P.73 Linker Scriptについて、OUTPUT_FORMAT("elf32-i386") ファイルフォーマットについての記述。x86プロセッサー、32bit版であること posted at 06:45:47
  • P.72 Liker Script について、OUTPUT_ARCH(i386) リンクされたObjectファイルについてのフォーマット posted at 06:47:40
  • P.72 Linker Scriptについて、 ENTRY(_start)  Linkerによって示される実行ファイル中のFirst Instractionのラベル posted at 06:49:28
  • P72 _start ラベルは実行環境を整えるAssemblerのファイルの中にあり、この手のFileはcrt0と呼ばれ、OSソースコードのなかにみることができる posted at 06:55:05
  • P73 AssemblerのEntry Pointについて、.global _startのようなLabelが必要かどうかはコンパイラにいぞんする。 posted at 06:59:31
  • P.74 __boot_vect = 0x0000; について。Text Sectionの始まるアドレスを表示 posted at 07:03:58
  • p.74 コンパイラの視点からいくと、いくつかのSectionにわかれる。Sectionはそれぞれことなる働きをする。 posted at 07:07:09
  • p.74 初期化されないデータがはいるのはData Section, Constantsが含まれるのはRead-Only Section data section, Stack Dataが入るのは Base stack segment section posted at 07:07:20
  • Linker ScriptにはSectionについてしてがされる。 posted at 07:09:21
  • BDNU 3章まで終わり! posted at 07:11:20