目次:
定義-リバースエンジニアリングとはどういう意味ですか?
コンピュータープログラミングにおけるリバースエンジニアリングは、ソフトウェアを分析して、ソフトウェアを構成する部分を識別および理解するために使用される手法です。 ソフトウェアの一部をリバースエンジニアリングする通常の理由は、プログラムを再作成すること、それに似たものを作成すること、その弱点を悪用すること、または防御を強化することです。
Techopediaはリバースエンジニアリングについて説明します
閉じたプロプライエタリなソフトウェアには、その作成に使用したソースコードを明らかにするドキュメントが付属していないため、ソフトウェアの内部動作を理解したいときにはいつでもリバースエンジニアリングを使用します。
一部のハッカーは、リバースエンジニアリングを使用して、悪用可能なプログラムの弱点を見つけます。
他のハッカーはリバースエンジニアリングを使用して弱点を特定し、そこでの防御を強化します。
競合製品を持つソフトウェア会社は、競合他社のプログラムをリバースエンジニアリングして、自社製品のどこでどのように改善できるかを調べます。 一部の企業は、類似の製品がまだない場合にリバースエンジニアリングを使用して、独自の製品を作成しています。
既存の製品に基づいて独自の製品を構築する場合、部品と依存関係が特定されると、再構築のプロセスがはるかに簡単になる傾向があるため、ゼロから作成するよりもリバースエンジニアリングを好むことがよくあります。
米国では、ソフトウェアのリバースエンジニアリングは著作権法のフェアユースの例外により保護されています。
