デバッガ
でばっが概念
プログラムを1ステップずつ実行しながら、CPUのレジスタやメモリ、アセンブリコードの動きを直接追跡・変更できるツール。本来はバグ取りの道具だが、動的解析やレトロゲームの解析でも中核的に使われる。
概要
プログラムを1ステップずつ実行し、CPUのレジスタやメモリ、アセンブリコードの動きを直接追跡・変更できるツール。本来はソフトウェアのバグを取り除くための道具だが、動的解析でも中核的な役割を果たす。
現在
レトロゲームの解析では、実行中のプログラムをその場で止めてメモリの状態を覗く手段としてデバッガが使われることが多い。静的解析だけで済まない場合、次の一手として動的解析に進む際の代表的なツールになる。
| 分野 | 解析・開発 |
|---|---|
| 用途 | 実行追跡・メモリ書き換え |
関連項目
- 動的解析実際に動いているプログラムの挙動を追いかけて仕組みを解き明かす手法。デバッガでCPUのレジスタやメモリを1ステップずつ追う、システムコールやネットワーク通信を記録するなど。暗号化・難読化で静的解析が阻まれる場合の次の一手になる。
- リバースエンジニアリング完成した製品やプログラムを分解・解析して、その仕組みや設計を読み解く行為。ソフトウェアでは逆アセンブルなどで内部の動きを追う。古いソフトやゲームの「痕跡」を読む作業の中核であり、この営みの最大の武器。
- アセンブリ言語機械語の命令を人が読める記号に置き換えた、最も低水準に近い言語。CPUの動きをそのまま書くため習得は難しいが、限界まで速度や容量を絞れる。レトロゲーム解析やROMハックでは、逆アセンブルした先で必ず出会う言語。