×
科目A|開発技術

リバースエンジニアリング | 応用情報技術者試験

リバースエンジニアリングとは

リバースエンジニアリングとは、完成した製品やソフトウェアを分解・解析し、その仕組みや構造、設計データ、ソースコードなどを明らかにする技術や手法のことです。「リバース(逆)」という言葉通り、通常の「設計図から製品を作る」という流れを逆行させて「製品から設計図を導き出す」アプローチです。
この技術は、古いシステムで設計図(ドキュメント)が紛失してしまっている場合の解析や、他社製品の技術的な仕組みの調査、セキュリティ分野におけるコンピュータウイルスの解析(マルウェア解析)などに広く用いられています。ただし、著作権や契約(ライセンス)の制限に抵触する場合があるため、実施の際は法律面での注意が必要です。

具体例

例えば、すでに開発元が解散してしまった20年前の古い会計システムの動作を解明するため、実行ファイル(プログラム)を専用の解析ツール(デコンパイラ)にかけて、人間が読める形式のプログラム(ソースコード)に逆変換し、どのような計算処理が行われているかを調査します。

もう少し詳しく