- PR -

逆コンパイル対策について

投票結果総投票数:131
必ずするようにしている 2 1.53%
高価なものだけしている 1 0.76%
全くしていない 128 97.71%
  • 投票は恣意的に行われます。統計的な調査と異なり、投票データの正確性や標本の代表性は保証されません。
  • 投票結果の正当性や公平性について、@ITは一切保証も関与もいたしません。
投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-05-08 22:23
引用:

blue200102さんの書き込み (2007-05-07 10:32) より:
そもそも、マイクロソフトは、旗を振って、.Netを推し進めたのだから、我々プログラマーの権益を守る義務があると思います。事実上の独占企業であるマイクロソフトは、もう少し、やさしさを持ってほしいと思っています。


引用:

blue200102さんの書き込み (2007-05-08 09:01) より:
それに、MSもソースコードは、公開してないじゃないですか。それが、MSの利益と独占の源ではないですか。


 これらはマイクロソフト社に対するご意見でしょうか?ご意見であるなら、伝えるためのルートを持っておりますので預かりましょうか?
 ただ、これだけでは「不満」しか書かれていないので、不満だけでは意見として受け取ってもらえません。
あなたの不満が、
* どれだけ多くの人にとって共通する不満(不利益)となっているか、
* それを解消するためには(企業の利益を守りながら)どのような方法があるか、
* 解決策を行うことによってどれだけ多くの人が利益を受けることができるか、
ということ、つまり、現在は企業とユーザとが LOSE & LOSE の関係であるということをアピールし、WIN & WIN の関係になる方法を提示してください。そうすると、改善の実現度が高まります。
 マイクロソフトは WIN & WIN の関係を築くために今の施策を行っているため、単に「不満だ」といっても、「100% の人が満足することはない」と判断されるにとどまります。したがって、方向転換をするために、説得する必要があります。このとき、多くの人(全ユーザに対する多くの割合)に影響を与えるものほど、優先的に処理されます。


 「.NET を推し進めた」とおっしゃいますが、単に .NET というと、Microsoft.NET<microsoft.com> を指します。.NET Framework を指すものではありません。そのあたり、誤解をされているように思います。または、誤解を与える書き方かと思います。
 ちなみに、私のブログのサブタイトル「Microsoft.NET 考」はこれを意識しており、マイクロソフト全般に対して考えてみようという意図を持っています。つまり、上記のご不満は私のブログで扱うのにとても適しておりますので、是非、まとめていただきたいと思います。

 「ソースコードは、公開していない」とおっしゃいますが、どのアプリケーション ソフトウェアの、どのコードでしょうか。ECMA CLI 実装であれば、Shared Source Initiative<microsoft.com> にて公開されていますよ?

 ソースコードが難読化されていようがされてなかろうが、ソースを読むよりも、やることが単純化されているアセンブリを読む方が簡単なようにも思う。

 あ、そうそう。こんな方がおられました。紹介しておきます。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9542&forum=12&start=24


引用:

blue200102さんの書き込み (2007-05-08 11:24) より:
一般向けでも、受託開発でも、最初は利益(赤字にしても)は考えず、改修やバージョンアップの時に、初めて費用や利益を回収するという場合もあるのではないかと思います。


 嘘でしょ?不当廉売に水増し請求ですか?改修やバージョンアップが必ずあるとも限らないし、不当に安くするためにはどこかに無理がかかります。その無理が製品に品質として現れれば、バージョンアップを頼んでもらえるとは限りません。そのような場合の改修は当然無償で行わなければならず、結局損をするだけです。
 先を読めない人ほど、そういうことをしたがりますけどね。また、そういう行為が、我々開発者の価値を貶めている(開発者の知識や工夫を不当に低く評価している)と思います。

_________________
masa
常連さん
会議室デビュー日: 2003/04/16
投稿数: 38
投稿日時: 2007-05-09 02:16
ちなみにExcelやWordは全面的に.NETになる予定と思っていましたが、期待を裏切られました。でも一部.NETになっているという話を聞いたことがあります(確かRibbonのあたり)。

あとExpression Web/Blendも.NETで開発したと聞いたことがありますが、それを参考にしてみれば(※逆コンパイルはライセンスに抵触する可能性があります)、マイクロソフトの.NETアプリケーションに対する考え方も分かるんじゃないかと思いますが。結局、本当に大事なところはWin32なり逆コンパイルできなくなっていたりするんじゃないかと想像しますがどうなんでしょう…。

2004年にOSのコードが流出した際にマイクロソフトはこんなコメントをしたようです。
http://japan.cnet.com/news/ent/story/0,2000056022,20064295,00.htm
「Windowsのソースコードの一部が漏出したとすれば、それはセキュリティの面よりも、むしろ知的財産権の面で問題となるだろう」(Microsoft)

まぁといっても、確かにいまは、コードレベルで競う時代ではなく、(それよりも粒度の大きい)サービスレベルで競う時代になってきていると感じますがね

[ メッセージ編集済み 編集者: masa 編集日時 2007-05-09 02:23 ]
blue200102
会議室デビュー日: 2007/05/07
投稿数: 8
投稿日時: 2007-05-09 03:18
皆さん、ご意見ご指摘ありがとうございます。

引用:

Jittaさんの書き込み (2007-05-08 22:23) より:
引用:

blue200102さんの書き込み (2007-05-07 10:32) より:
そもそも、マイクロソフトは、旗を振って、.Netを推し進めたのだから、我々プログラマーの権益を守る義務があると思います。事実上の独占企業であるマイクロソフトは、もう少し、やさしさを持ってほしいと思っています。


引用:

blue200102さんの書き込み (2007-05-08 09:01) より:
それに、MSもソースコードは、公開してないじゃないですか。それが、MSの利益と独占の源ではないですか。


 これらはマイクロソフト社に対するご意見でしょうか?ご意見であるなら、伝えるためのルートを持っておりますので預かりましょうか?
 ただ、これだけでは「不満」しか書かれていないので、不満だけでは意見として受け取ってもらえません。
あなたの不満が、
* どれだけ多くの人にとって共通する不満(不利益)となっているか、
* それを解消するためには(企業の利益を守りながら)どのような方法があるか、
* 解決策を行うことによってどれだけ多くの人が利益を受けることができるか、
ということ、つまり、現在は企業とユーザとが LOSE & LOSE の関係であるということをアピールし、WIN & WIN の関係になる方法を提示してください。そうすると、改善の実現度が高まります。
 マイクロソフトは WIN & WIN の関係を築くために今の施策を行っているため、単に「不満だ」といっても、「100% の人が満足することはない」と判断されるにとどまります。したがって、方向転換をするために、説得する必要があります。このとき、多くの人(全ユーザに対する多くの割合)に影響を与えるものほど、優先的に処理されます。


上の私の投稿は、私個人の感想を書いたものです。「私は、この様に思うけど皆さんは、どう思いますか」という意味で書いたのです。だから投稿したのです。もし、私が、100%正しい尤もな不満だと確信していたら、直接MSに言っています。
それに対するJittaさんのご意見は、上の様なご意見ご感想であるならば、貴重なご意見ありがとうございます。

引用:

 「.NET を推し進めた」とおっしゃいますが、単に .NET というと、Microsoft.NET<microsoft.com> を指します。.NET Framework を指すものではありません。そのあたり、誤解をされているように思います。または、誤解を与える書き方かと思います。
 ちなみに、私のブログのサブタイトル「Microsoft.NET 考」はこれを意識しており、マイクロソフト全般に対して考えてみようという意図を持っています。つまり、上記のご不満は私のブログで扱うのにとても適しておりますので、是非、まとめていただきたいと思います。


ここが、「Insider.NET」なので、単に.NETと省略したのですが・・・

引用:

 「ソースコードは、公開していない」とおっしゃいますが、どのアプリケーション ソフトウェアの、どのコードでしょうか。ECMA CLI 実装であれば、Shared Source Initiative<microsoft.com> にて公開されていますよ?



引用:

 ソースコードが難読化されていようがされてなかろうが、ソースを読むよりも、やることが単純化されているアセンブリを読む方が簡単なようにも思う。


ExcelやWordのソースコードが公開されている訳ではないですよね。

引用:

 あ、そうそう。こんな方がおられました。紹介しておきます。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=9542&forum=12&start=24

引用:

blue200102さんの書き込み (2007-05-08 11:24) より:
一般向けでも、受託開発でも、最初は利益(赤字にしても)は考えず、改修やバージョンアップの時に、初めて費用や利益を回収するという場合もあるのではないかと思います。


 嘘でしょ?不当廉売に水増し請求ですか?改修やバージョンアップが必ずあるとも限らないし、不当に安くするためにはどこかに無理がかかります。その無理が製品に品質として現れれば、バージョンアップを頼んでもらえるとは限りません。そのような場合の改修は当然無償で行わなければならず、結局損をするだけです。
 先を読めない人ほど、そういうことをしたがりますけどね。また、そういう行為が、我々開発者の価値を貶めている(開発者の知識や工夫を不当に低く評価している)と思います。


Jittaさんのこの上の箇所は、それこそ「不当な」表現だと思います。
私は、赤字にはしませんが、利益率を適度に抑えてお客様に導入しやすい価格帯を設定する事は、お客様と開発者側双方にとって利益になる場合も多々あると思います。お客様も、まだ良く使い込んだ事の無いソフトに、いきなり高い金を払うのは、つらいと思います。
そういう事は、どこの業界でもあると思います。確か「安全カミソリのビジネスモデル」と言ったと思います。その最たるものが、携帯電話の0円販売と思っています。(携帯電話の0円販売は、如何なものかと個人的には思っていますが)

# Jittaさん、色々と反論させて頂きましたが、そろそろ、話を戻しませんか?
# Jittaさんの書き込み (2007-05-07 22:59)とmasaさんの書き込み(2007-05-07 22:29)
# とかは、非常に技術的な観点から参考になりました。この様な建設的なやり取りが、
# ここで続けられたらと願っています。

Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-05-09 07:43
wordやexcelのコードが公開される必要がありますか?
それはなぜ?
公開されることで、どの様な、どれくらいの人達に、どの様な利益がもたらされますか?

少なくとも、ファイル フォーマットについては公開されており、それにしたがったフォーマットで入出力できればアプリケーションそのものは必要なく、コードが公開される必要もないとかんがえます。


で、デコンパイルしなくてもディスアセンブル出来れば、手順が一番単純化されたコードが手に入りますよね?というのは、主旨に沿っていると思いますが、その件に関しては如何でしょう?


ニーモニック表を見ながら手でアセンブルしていた世代って、ウチらが最後なのかな?
_________________
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2007-05-09 08:56
引用:

blue200102さんの書き込み (2007-05-08 09:01) より:

うちは、一般向けアプリケーション開発でも、受託開発でも、ソースコードで納品するような事はしないで、EXEにして納品しています。
それに、MSもソースコードは、公開してないじゃないですか。それが、MSの利益と独占の源ではないですか。
# 別に、MSと、張り合う気はないですが。


 フォトスタジオでカメラマンに依頼して写真を撮ってもらった場合、カメラマンはその写真を勝手に他者に販売することはできません。街角で偶然写った場合も同様ですが、写真において肖像権は被写体に、著作権はカメラマンだけでなく被写体にもあります。

 受託開発の場合はこれと同様でそのソースに関してユーザーにも著作権があってもしかるべきだと考えます。そこにはユーザーの戦術レベルの業務改善ノウハウが存在し、それはユーザーにとっては当然守りたいものだと思います。その場合ソースを開発側のみ持つというのは一方的な権利の主張かも。
unibon
ぬし
会議室デビュー日: 2002/08/22
投稿数: 1532
お住まい・勤務地: 美人谷        良回答(20pt)
投稿日時: 2007-05-09 11:24
ソフトウェアではなく、たとえば建築物で、木造2階建てにベランダを増築しようとする場合でも、別に設計図は要らず、今、建っている実物を見ればどこに柱を継ぎ足して、どこに釘を打って、のようなことは分かります。

ソフトウェアも、ソースコードがあればこれと同じことができるのですが、ソースコードがなくバイナリーのみだとこれが容易ではありません。しかし、昔だったら、こういうことも手作業でマシンコードを解読してパッチをあてるということも、技術的にはそれほど難しいことではありませんでした。だから、原理的には、建築物とソフトウェアで違いがあるとは思いません。
しかし、今、EXE や DLL のファイルだけあっても、どの部分がどんな処理をするのかがぜんぜん分かりません。建築物だって、特殊な工法で建てられたようなものだと、設計図がないと、強度の計算なども難しくなるのではないかと推測します。

家電も、昔だったら、テレビやラジオを買うと回路図が付いてきていたような記憶があります。少なくともブロックダイアグラム程度のものは付いていました。しかし、最近ではブロックダイヤグラムすら付いておらず、取扱説明書だけ見てもアーキテクチャーすら良く分からない、という感じになってきています。

とくに主張があるわけではありませんが、以上のようなことを思いました。

--
unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86}
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-05-09 22:04
引用:

unibonさんの書き込み (2007-05-09 11:24) より:

とくに主張があるわけではありませんが、以上のようなことを思いました。


「とくに主張があるわけではない」というところに恐縮ですが、感じたことを。

 Word にしても Excel にても、かゆいところに手が届くように、VBA が搭載され、機能にアクセスするためのドキュメントが提供されています。
 チップの内部回路は明らかにされていませんが、周辺回路は明らかにされていると言っても良いのではないでしょうか。

 このことから、コードを見る必要を感じません。


 コードを見ることで、

* ユーザにどんな利益がもたらされるのか、
* その利益が、全ユーザに対してどれくらいの割合にもたらされるのか、
* また、会社にとっても利益となるのか、
* あるいは、会社の不利益とならないか、
* 不利益がある場合、それを回避する方法はあるのか、
* 利益と不利益を比べると、どちらの方が大きいのか、

ということが提示されれば、いつだって要望をあげますよ、と。


 これはマイクロソフトに限らず、どんな会社だって、共通することではないでしょうか。自分の利益だけを考えて提案しても、それがどんなに(その人にとって)素晴らしくても、誰も相手にしてくれないでしょう。

 もし、本当に素晴らしい提案なのなら、こんなところで不満で終わらせるのはもったいないと思います。むしろ、MSDN フォーラムでやった方が、MVP がリードしてそういう話題に乗ってくれるでしょう。
_________________
MMX
ぬし
会議室デビュー日: 2001/10/26
投稿数: 861
投稿日時: 2007-05-09 22:38
難読化の最先端なら、
DRM(avexのdreamでなく)とか、
ウイルス作成の板に行くほうが、早いかも。
もっとも、自分のパクリを隠すのにも、難読化は使えますが。
難読化後の エラーメッセージを出さない自信がないと、難読化は難しい。

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