1読書ノート今流行りのリバースエンジニアリングが出てるね。Guideの序章に詳しく書いてあったりする。導入"レジスタとはCPUが内部に持つ記憶領域です。その記憶領域にはそれぞれEAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI、EIPといった名前がついています。17"ソフトウェア解析とは「何をやっているかを調べること」であり、プログラミングとは違います。すべての処理を完全に理解する必要はなく、だいたいの雰囲気がわかればいいのです。それがリバースエンジニアリングです。17"アセンブラコードをすべて読む必要はありません。これまたバイナリエディタのときと同じですが、ざっと眺めて、どういった処理が行われているかをなんとなくつかめれば十分です。17"動的解析と呼びます。こちらはおもにデバッガを使って処理を追うことが挙げられますが、ほかにも以下の行為は動的解析と呼べるでしょう。17"静的解析と動的解析は「対象となるプログラムを実行するかしないかの違いである」と書きましたが、筆者の個人的な感覚としては、静的解析は「全体を広く眺めるイメージ」、動的解析は「局所的に集中して見つめるイメージ」です。17"一般的なプログラミング言語の予約語と比べても、アセンブラ命令の多さは尋常ではありません。1000近い命令を覚えなければロクにプログラムも組めないとなると、学ぼうとする人も減るでしょう。「重要な個所は時間をかけてじっくりと理解する」「それ以外は全体の雰囲気からなんとなくこんな感じかなぁとざっくり把握する」ぐらいでかまいません。17:08Tweet関連記事2015-05-09Golang習作メモオレオレToggeterに勝手に衝撃を走らせていた。#ikebinSH-3のBrainfuckEXEコンパイラをNode.jsで作る。19:42web系エンジニアの速記的備忘録。メモ書き故、中身については保証致しません。実在している団体等とは一切関係ありません。広告はてなブログをはじめよう!shigemk2さんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。