Reverse Engineering resources - リバースエンジニアに必要なリソース集

Reverse

Wikipediaによるとリバースエンジニアとは「機械を分解したり、製品の動作を観察したり、ソフトウェアの動作を解析するなどして、製品の構造を分析し、そこから製造方法や動作原理、設計図などの仕様やソースコードなどを調査すること」。

実際の製品から、設計や仕様、ソースコードを導き出す手法を指していて、コンピューターの世界では、プログラムの実行解析をソースコードに戻す「逆コンパイル」等の手法が利用されます。

本日紹介する「Reverse Engineering resources」は、このリーバースエンジニアに必要なリソースを集めるGitHub上のリンク集です。

情報が少ないリバースエンジニアに関し、以下のようなジャンル別に、リンクが集められています。

  • 書籍
  • 講座
  • 練習(マルウェアに注意)
  • ヘックスエディタ
  • バイナリフォーマット
  • ディスアセンブラ
  • バイナリ分析
  • バイトコード分析
  • インポートリコンストラクション
  • 動的分析
  • デバッギング
  • Mac複合
  • ドキュメント分析
  • スクリプティング
  • Android
  • Yara(マルウェア解析・検知ツール)

この中で例えば書籍に関する情報は以下のようになっています。

全て英語の書籍となっています。英語が苦手な方は、日本語に翻訳されていないかどうかチェックしてみると良いかもしれません。

デバッグツールに関してはWinDbgやOllyDbg、gdbなど、一般開発者にとっても割とお馴染みのツールが含まれています。

リバースエンジニアリングという概念に馴染みのある方も、そうでないかたもリンクを確認すればどのような分野をカバーする技術なのかざっくりと理解することができそうです。

ソースコードが入手できないソフトウェアの動作を解析したい場合に有効なリバースエンジニアリングですが、商用ソフトウェアの場合、ライセンス契約などで、ソースコードの抽出などが禁止されている場合もあるようです。実際に作業する場合は、事前にソフトウェアのライセンスをよく確認しておくことをおすすめします。

スポンサーリンク