- PR -

リバースエンジニアリングに関する問い合わせについて

投稿者投稿内容
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-11 19:20
先日、自分で作成したDLLはあるけどソースをなくしてしまった。
もう一度作成してもいいけど大変なのでDLLからソースを作りたい。
XXXXX のツールをつかったけどもうまくいか無い。
かなり元文章とは違いますがこんな感じの内容でした。

私は一回答者の僭越なお願いではありますがと書いた上で
リバースエンジニアリングにつながる質問なので、
この文章を削除してそれとわからないような別の質問にしてください。
とお願いして、さらに質問の答えがありそうな箇所のリンクもつけました。
参照元記事URLはその残骸です。


皆さんならどうしますか?
また@IT会議室(多数の方が参照する会議室)の管理人の立場になってみて、
どうして欲しいですか?
_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-08-12 12:41
どういう意図で、「リバースエンジニアリングにつながる質問なので、 この文章を削除して
それとわからないような別の質問にしてください。 」と回答されたのかわかりませんが、
「リバースエンジニアリング=違法行為」と考えられているのであれば、それは間違いです。

まして、自作のDLLをリバースすることに違法性があるとは通常考えられません。
もっとも、リバースエンジニアリングよって元のソースを復元できるかも、と考えているよう
であれば、それはそもそも無理(言語によってはそうでもないですが)だと理解してもらうほう
がいいでしょう。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-08-12 12:54
NAL-6295です。

個人的な雑感でいえば、リバースエンジニアリング自体、そんなに特殊性がある事でもないし、@ITの記事でも取り上げられているし、ここで抑制したところで意味無いかなと思います。
その他、ukさんの意見に同意です。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-12 13:25
@IT > @IT総合検索 > セキュリティ用語事典 > リバースエンジニアリング では、
著作権を侵害することにつながりかねない。
セキュリティホールやバグの場所・原因の特定に利用することは有益である。
ソフトウェアの脆弱性の原因究明の手段として使われるほか、仕様を把握することでその脆弱性を悪用することにもつながるため、“もろ刃の剣”的な技術といえる。
と書いてあります。
http://www.atmarkit.co.jp/aig/02security/revengine.html

また、Microsoftをはじめとして市販製品では一般に禁止事項と書いてあります。

自作ソースのUMLクラス図のリバースエンジニアリング や 自作.Net DLLからのリバースエンジニアリング場合は、私も問題は無いと思っています。
問題は無いと思ったからこそ質問者には質問の答えがありそうな箇所のリンクをつけたのです。

しかしながら、不特定多数の方が参照する会議室で .Netのリバースエンジニアリング の方法が永続的に残ってしまう状態は、
あとでその質問を見た方が禁止事項とされる市販製品のリバースエンジニアリングを行う可能性があります。
市販製品のリバースエンジニアリングを行いたいと一生懸命探さなくても方法がわかってしまいます。
参照元記事 を見ていただければ Insider.NET 会議室 とわかると思いますが、.Net DLL では 製作者がつけた変数名でC# のソースコード が表示されます。
不特定多数の方が参照する会議室では危険な情報だと思っています。

_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-08-12 13:48
もろ刃の剣だからこそ知る事自体が有益な事なのでは?と考えます。

.NETに関して言うのであれば、@ITの記事において既に紹介されています。
最近の記事ではEclipseでの逆コンパイルも紹介されています。
この時点で不特定多数に対する情報の抑制は無理があると考えるべきでしょう。
抑制できるのは、教えて君ぐらいかと思います。
また、その記事では難読化についても言及されています。
もし、リバースエンジニアリングに対して無知であるならば、それに対する防御(例えば難読化)というステップにたどり着けないのではないかと思うのです。

敵を知り己を知ることこそが重要であると考えています。

例えば不正な解錠手口として「サムターン回し」という手口を知っているからこそ、「サムターン回し対策」ができるわけです。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2004-08-12 14:06
unibon です。こんにちわ。

引用:

えムナウさんの書き込み (2004-08-12 13:25) より:
@IT > @IT総合検索 > セキュリティ用語事典 > リバースエンジニアリング では、
著作権を侵害することにつながりかねない。


リバースエンジニアリング自体は、なんら違法性はありません。著作権法でも禁止されていないはずです。芸術家が美術館に行って、展示されている絵画をなめまわすように見て、技法を盗む行為も違法ではないでしょう。
しかし、盗んだ技法を使って、贋作を描いて売ればそれは著作権法違反でしょう。絵の具の配合方法に特許があれば、特許権侵害でしょう。かといって、美術館に行って技法を盗んだことが違法な訳ではないです。

引用:

えムナウさんの書き込み (2004-08-12 13:25) より:
また、Microsoftをはじめとして市販製品では一般に禁止事項と書いてあります。


これはその製品の使用許諾契約書でリバースエンジニアリングを禁止する、と書いてあるから禁止になっているだけです。個別の契約内容を一般的な道義にまで拡大することは、容易にはできないのではないでしょうか。
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-08-12 14:20
@ITの記事で確かに紹介されています。難読化についても言及されています。
>リバースエンジニアリングに対して無知であるならば、それに対する防御(例えば難読化)というステップにたどり着けないのではないかと思うのです。
この点は同意します。 歯止めも利かないかもしれません。

Eclipseはオープンソース・ソフトウェアです。
私の見た範囲ではC#ソース・ファイルの自動生成結果をのせているだけのようです。

>リバースエンジニアリング自体は、なんら違法性はありません。
これは同意しますが
>使用許諾契約書でリバースエンジニアリングを禁止する、と書いてあるから禁止になっているだけです。
>個別の契約内容を一般的な道義にまで拡大することは、容易にはできないのではないでしょうか。
私は一般的な道義にまで拡大してはいません。
禁止事項とされる市販製品のリバースエンジニアリングを行う可能性を述べただけです。

一般的な道義の意味は、質問された場合はツールとして紹介すべきで、個々の責任において正しく使うように勧めるべきだと(またはどう使うかは個々の責任だと)、おっしゃりたいのでしょうか?
_________________
えムナウ Microsoft MVP for Visual Developer - C#,2005/01-2007/12
えムナウのプログラミングのページ Blog1 Blog2
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2004-08-12 14:35
リバースエンジニアリングという言葉が何を示しているのか分かりませんが、
DLL(マシンコード)からソースコード(VBなりC++なり)を生成すると言うことであれば、
単純に技術的に「逆コンパイル」を行っているだけですので、このこと自体には
違法性は無いのではありませんか?ただのデータ変換ですよね?

但し、ソフトウェア製品のライセンス条項に「リバースエンジニアリングを禁ずる」
と書いてあれば、そのソフトウェア製品のリバースエンジニアリングを行うことは
契約違反にあたり、契約違反で民事訴訟を起こされる可能性があるとは言えるので
しょうね。

# この辺、法律に詳しい方教えてくださいm(-v-)m

ところで、えムナウさんがおっしゃりたいことって、なんでしょうか?
そこがよく分かりません。ご自身としては、どのような結論をおっしゃりたいのですか?

スキルアップ/キャリアアップ(JOB@IT)