リバース‐エンジニアリング【reverse engineering】
リバースエンジニアリング(りばーすえんじにありんぐ)
リバースエンジニアリング
リバースエンジニアリングとは、既存の製品を解体・分解して、製品の仕組みや構成部品、技術要素などを分析する手法のことである。
リバースエンジニアリングは、ソフトウェアに対してはプログラムの分析が行われ、ハードウェアでは製品の分解が行われる。リバースエンジニアリングが行われる主な目的は、他社製品の仕様を知るためであり、その理由は製品間の互換性を保つためであるとされる。ちなみに、企業が販売している商品そのものには特許権や著作権が含まれている場合も多いが、「開発段階のアイディア」は法的に禁止されていない。
ソフトウェアの場合、リバースエンジニアリングの技法としては、機械語で記述されたプログラムを高級プログラミング言語のソースコードに戻す「逆コンパイル」などが主に行われる。逆コンパイルは著作権を侵害する危険性の多い手法であるため、敢えて避けられる場合も多い。使用許諾契約書でリバースエンジニアリングを禁止していることも多く、また、逆コンパイル対策用ソフトウェアなども開発されている。
また、システムの保守やセキュリティ強化、権利侵害の取り締まりなどを目的としてリバースエンジニアリングが行われる場合もある。ある製品について仕様書と実際の製品とが食い違っていないかを検証したり、バグやセキュリティホールの可能性を調査したり、あるいは他社製品に自社の特許が盗用されていないかを調べたりする際などにもリバースエンジニアリングが行われている。
参照リンク
IPX -知的財産権保護のためのリバースエンジニアリング事業
【リバースエンジニアリング】(りばーすえんじにありんぐ)
Reverse engineering (RE)
実際に製造された工業製品を分析して、そこに含まれる工学的知見を調査する事。
通常の工学的研究(Engineering)の行程を逆流(Reverse)する事からリバースエンジニアリング(RE)と呼ばれる。
研究開発部門を有する企業であれば、どこでも日常業務としてREを行っている。
ほとんどの工業製品は仕様書・設計図の類が「企業秘密」として公開されていないため、REを行わずに技術開発を行う事はできない。
また、多くの製品は開発に関わった技術者本人しか記憶していないような非公式の技術情報が残されている。
技術者の世代交代や移籍によって既存の技術情報が散逸する事も少なからずあるため、自社製品の分析も不定期に行われる。
製品が抱えている潜在的な欠陥を調査するため、あえて先入観を持たないスタッフにREを行わせる事もある。
関連:デッドコピー チャイニーズコピー クフィル 殲撃7 Tu-4 コンピュータ2000年問題
法的側面
リバースエンジニアリングそのものは完全に合法であり、これを罰する法は基本的にない。
ただし、REの分析結果を転用した製品の販売は特許・著作権・意匠権などの知的財産権と抵触する可能性がある。
一部製品では利用許諾の契約書にリバースエンジニアリングを禁止する条項が明記されている場合がある。
ただし、その旨の条項が法的に正当なものであるかどうかについては疑問の余地もある。
また、明白に違法な意図をもってリバースエンジニアリングが行われた事例も少なくない。
例えばコンピュータウィルスに対するREを行えば、より強力で対策困難なコンピュータウィルスを作る方法を知る事になる。
ユーザー登録が必要なソフトウェアを解析したエンジニアは、登録料を支払わず不正に利用する方法を知る事になる。
窃盗団は家屋の鍵、セキュリティ装置、ICカードなどを解析し、それらの装置を欺く方法を学ぶ事ができる。
確度の高い技術情報を得るためにスパイ行為を働く事もある。
そうした「産業スパイ」は家宅侵入や窃盗などの刑事事件、社内規定による解雇処分、損害賠償などの民事訴訟に発展する。
軍事におけるリバースエンジニアリング
各国の兵器に明らかな類似性や共通点があるのは偶然ではない。
リバースエンジニアリングなしに成り立たないのは軍需産業も例外ではなく、兵器の基幹技術は全て他社に解析されている。
「特定の企業にしか生産できない兵器」は存在せず、たとえ存在したとしても、解析が完了するまでの一時的な優位に過ぎない。
例えば、パテントが失効した「古き良き」銃器は世界中の銃器メーカーによって解析され、コピー製品が作られている。
戦車や軍用機など高度な軍事機密が関わる製品も例外ではないが、こうした製品のREは困難を伴う。
製品を解析するためには何らかの方法で現物を入手するか、スパイ経由で情報を入手しなければならない。
このため、鹵獲された他国の兵器は、REを行う軍属の研究機関へ移送されることが多い。
また、大規模な軍需企業の周辺では常に各国諜報機関が暗躍しているとも言われる。
この他、同盟国から輸入された兵器に存在する「整備などの際に無断で分解してはならない」とされる部品を分解し、無理やり技術を得ることも稀にある。
しかし、これは露見すれば外交問題に発展するのは想像に難くない。
リバースエンジニアリング
データをもたないクレイモデルなど、先行するデザイン実体モデルから測定したデータを設計検討に提供する開発の進め方。測定した点群データはフェアリングデータ化され、コンピューターに入力される。
リバースエンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/26 16:48 UTC 版)
リバースエンジニアリング(英: reverse engineering)とは、機械を分解したり、製品の動作を観察したり、ソフトウェアの動作を解析するなどして、製品の構造を分析し、そこから製造方法や動作原理、設計図などの仕様やソースコードなどを調査することを指す。
注釈
- ^ 再配布などを禁じて、契約先にのみ公開する、といった製品は存在する。
出典
- ^ 雪田 2020.
- ^ SONY COMPUTER ENTERTAINMENT v. CONNECTIX CORP., 203 F.3d 596 (9th Cir. 2000)
- ^ 文化審議会著作権分科会法制問題小委員会 (2010年4月). “権利制限の一般規定に関する中間まとめ” (PDF). p. 27. 2022年2月23日閲覧。
- ^ ソフトウェアライセンス契約等に関する独占禁止法上の考え方 ―ソフトウェアと独占禁止法に関する研究会中間報告書― 平成14年3月20日 公正取引委員会
- 1 リバースエンジニアリングとは
- 2 リバースエンジニアリングの概要
- 3 リバースエンジニアリングにまつわる問題
- 4 脚注
リバースエンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/03 05:45 UTC 版)
Cyborg3D MeshToCAD、QUICKSURFACE、XTract3D (SolidWorks向け)などが存在する。
※この「リバースエンジニアリング」の解説は、「CAD」の解説の一部です。
「リバースエンジニアリング」を含む「CAD」の記事については、「CAD」の概要を参照ください。
リバースエンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/13 22:01 UTC 版)
「erwin Data Modeler」の記事における「リバースエンジニアリング」の解説
データベースの分析を担当する人が、既に存在するデータベースのデータ構造を調査し理解する必要がある場合、erwin は、物理的なデータベースオブジェクトの実装内容を解析し、erwin モデルファイルに保存することができる。
※この「リバースエンジニアリング」の解説は、「erwin Data Modeler」の解説の一部です。
「リバースエンジニアリング」を含む「erwin Data Modeler」の記事については、「erwin Data Modeler」の概要を参照ください。
リバースエンジニアリング(Reversing, Binary)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/21 22:55 UTC 版)
「キャプチャー・ザ・フラッグ」の記事における「リバースエンジニアリング(Reversing, Binary)」の解説
提供されるファイル(PEやELF等実行可能形式やソースコード、実行ログ)を解析してフラッグ(文字列)を取り出したり再現したりする。シリアルキーのクラッキングなどと類似した流れとなる。
※この「リバースエンジニアリング(Reversing, Binary)」の解説は、「キャプチャー・ザ・フラッグ」の解説の一部です。
「リバースエンジニアリング(Reversing, Binary)」を含む「キャプチャー・ザ・フラッグ」の記事については、「キャプチャー・ザ・フラッグ」の概要を参照ください。
リバースエンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/03 14:03 UTC 版)
「ソースコード」の記事における「リバースエンジニアリング」の解説
通例、ソースコードから実行コードへの変換で多くの情報が失われるため、実行コードから完全なオリジナルのソースコードを得ることはできない(不可逆変換)。しかし、実行コードしか入手できない場合であっても、時間と手間を掛ければリバースエンジニアリングによってソースコードに近いものを作りだすことは可能である。このため、真に機密保持が重要なプログラム、例えば暗号化装置のようなものでは意図的にプログラムが複雑に構成され、物理的にも読み出しにくいハードウェアに記録されているものがある(セキュリティについては隠蔽によるセキュリティ(英語版)も参照のこと)。 Java VMや.NET Frameworkなど、仮想マシンあるいは中間言語方式のフレームワーク上で動作するアプリケーションソフトウェアはリバースエンジニアリングしやすい性質を持つが、第三者によるリバースエンジニアリングを防止するために、難読化 (obfuscation) を施すこともある。
※この「リバースエンジニアリング」の解説は、「ソースコード」の解説の一部です。
「リバースエンジニアリング」を含む「ソースコード」の記事については、「ソースコード」の概要を参照ください。
リバースエンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/23 06:38 UTC 版)
「3Dプリンター」の記事における「リバースエンジニアリング」の解説
3Dプリンタの作動音からリバースエンジニアリングする手法が開発された。造形物の90%を再現可能とされる。
※この「リバースエンジニアリング」の解説は、「3Dプリンター」の解説の一部です。
「リバースエンジニアリング」を含む「3Dプリンター」の記事については、「3Dプリンター」の概要を参照ください。
リバースエンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/16 22:50 UTC 版)
「ソフトウェア利用許諾契約」の記事における「リバースエンジニアリング」の解説
詳細は「リバースエンジニアリング」を参照 ソフトウェア利用許諾契約では、リバースエンジニアリングを禁じていることが多い。これにより、そのソフトウェアと連携するサードパーティ製ソフトウェアを開発することも困難になる。したがって顧客の選択肢を狭め、ベンダロックインの一助となる。 ユーザーがそのソフトウェアの性能データを公表することを禁じる契約も存在する。
※この「リバースエンジニアリング」の解説は、「ソフトウェア利用許諾契約」の解説の一部です。
「リバースエンジニアリング」を含む「ソフトウェア利用許諾契約」の記事については、「ソフトウェア利用許諾契約」の概要を参照ください。
リバース・エンジニアリング
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/01 15:12 UTC 版)
「ティレル・P34」の記事における「リバース・エンジニアリング」の解説
アメリカのJ・ホルツマンは、ティレル家の許諾と応援により設計図を入手し、2018年からCGAレースエンジニアリングにP34の新造を委託。新造にあたっては、資料写真や許可を得たうえで現存するP34を分解し部品をスキャン。また、タミヤの1/12スケールモデルを参考にして、2020年にP34を完成させた。
※この「リバース・エンジニアリング」の解説は、「ティレル・P34」の解説の一部です。
「リバース・エンジニアリング」を含む「ティレル・P34」の記事については、「ティレル・P34」の概要を参照ください。
リバースエンジニアリングと同じ種類の言葉
- リバースエンジニアリングのページへのリンク