我在MSMobiles.com博客上发现了这篇帖子,其中包括以下内容:
.Net在很多方面都很棒,但对于商业应用呢?没门!任何人都可以查看您的源代码.高端混淆器可以提供很多帮助,但任何坚定的黑客都会在不到一天的时间内修复您的代码.尽管花费1000美元用于反盗版和混淆工具,但我从悲伤的经历中知道这一点.
然后说明如何在.NET中开发商业Windows Mobile应用程序:
准备好延迟1天,之后您的竞争对手将复制您的功能,并在Skymarket中使用相同的功能放置自己的应用程序
对于那些熟悉.NET的人:这是真话还是废话?这个问题是否以某种方式特定于Windows Mobile,还是适用于Windows上的.NET?这对我来说似乎很令人惊讶,因为我知道微软在.NET中编写了大量自己的客户端软件(许多供应商用Java编写昂贵的应用程序,显然存在相同的问题),而且他们看起来很奇怪IP可能很容易被窃取.
我认为这在很大程度上是无意义的,原因很简单,如果你的竞争优势和业务成功依赖于代码中的某些算法那么你就已经搞砸了.成功的应用程序不仅仅是代码,它是众多作品中的一个.
如果这是你真正害怕的事情,那么我会投资混淆和预付一些法律顾问(非常便宜信不信由你),他们会代表你向你认为偷了你的代码的竞争对手发送停止和终止信件.虽然这在法律上几乎无处可去 - 行动的威胁只是你最有效的工具.
关于反编译.NET应用程序的简易性还有一些道理.(这适用于任何.NET应用程序,而不仅仅适用于在Windows Mobile上运行的应用程序.)
这是比较容易采取编译的程序集,并使用免费的和商业工具获得源代码.(简单来看看Reflector.)话虽如此,你可以使用混淆器,这将阻止大多数人,但只会减慢坚定的黑客.
尽管如此,几乎所有语言都有反编译器,如果公司(或个人)决心看到产品的内部结构,他们会找到一种方法,无论如何.
阅读你引用的帖子真的听起来像是由一个对微软,.NET和/或Windows Mobile有非常糟糕经验的人写的,并且所做的一些陈述充其量是不正确的.(特别是关于这不是iPhone的问题,因为它是用"原生"代码编写的.)