有人用.NET编写桌面应用程序吗?

时间:2009-07-01 03:15:58

标签: c# .net asp.net wpf winforms

我很不能说我曾经见过一个使用.NET的商业应用程序(除了开发/开源控件之外)。由于使用RedGates .NET Reflector很容易“反编译”.NET应用程序,我想知道.NET是否适合ASP.NET(因为代码在服务器上运行而不能'反编译'没有存储在用户机器上)?

20 个答案:

答案 0 :(得分:25)

我的公司使用WPF在.NET 3.5中构建医疗成像应用程序。 我目前正在.NET中开发自己的应用程序。

奇怪的是,Paint.NET在本机代码中写得很奇怪。我对上一句话撒谎。它显然是用.NET编写的。

它比你想象的更普遍。

正如其他人提到的那样 - 您可以使用混淆器使其他人更难以反编译您的应用程序。这并非不可能,但它更难 - 据说,如果有足够的时间/资源,任何东西都可以被反编译/反转。

答案 1 :(得分:11)

Microsoft Expression Studio是.NET

Visual Studio 2010是.NET

Red Gate Software(主要是).NET

...还有SharpDevelop(虽然是开源)和Microsoft Pro Photo工具。

答案 2 :(得分:8)

我知道使用.NET的企业应用程序,虽然我认为大多数都使用托管C ++,但无法使用Reflector进行反编译。

我个人销售基于.NET的Windows应用程序。我使用Eazfuscator.NET来混淆代码。有许多商业和免费工具可以在编译后混淆.NET代码。

答案 3 :(得分:5)

个人而言,我使用Microsoft Pro Photo Tools进行地理标记。它是用.Net编写的。您也可以对代码进行模糊处理,使反射器工具无法读取它。 Read Microsoft's article on obfuscating a .Net app

答案 4 :(得分:5)

许多商业软件产品都使用.NET。我最喜欢的游戏之一,Auran的Trainz系列,主要是用.NET编写的。但我同意他们对.NET的更大关注点是内部业务应用程序和基于Web的应用程序。但是,我认为,随着WPF的发展,您将开始看到更多Windows应用程序使用.NET作为其后端语言。正如其他人所说,有许多工具可以帮助模糊代码。但是,如果您关注的是逆向工程,那么如果有人真的想要,几乎任何开发语言都可以进行逆向工程。

答案 5 :(得分:4)

RedGate的大多数产品都是.net桌面应用

答案 6 :(得分:3)

优秀的图像编辑软件Paint.NET在C#托管代码中100%编写。

答案 7 :(得分:1)

我真的很喜欢这个问题而且我一直在问自己同样的事情! 如果那里有人可以反编译并使用我已经努力完成的代码怎么办?
 话虽这么说,过去7年我一直在使用.Net语言来处理我所有的产品!可以反编译吗?当然!但是,如果有人可以使用我的代码,如果他们努力工作以反编译然后理解它,我是否应该生气?对我来说,如果有人花时间和资源这么做,我会很高兴的!这意味着我已经够好了!这也意味着我正在参与教育那里的人! 另一方面,当有人使用你的代码时,我猜你会发展得更高级的东西,你甚至会忘记你几年前写的旧代码!
我刚刚完成了一项产品,可以用作中型企业的归档系统,人力资源管理系统和行政管理,很快就会上市。 作为一个底线,我想说:应该为那些花时间寻求利用它的人提供知识!想象一下,如果一些最伟大的科学家在将知识传播给我们所有人之前就已经死了!

答案 8 :(得分:1)

我使用VB.net将一个com互操作插件写入CAD系统。它可以轻松处理所有必需的3D数学,而无需使用CAD引擎功能。最初它是用VB6编写的。我不得不说使用.Net而不是VB6是一种乐趣。我的工作效率更高,代码更清晰,耦合更松散。正如之前的一些海报所说,如果你需要一些硬核性能,你总是可以使用c ++或c。如果您在Windows环境中开发,.Net应该是您的首选(至少对于演示和业务层)。

我担心逆向工程,是的。但还不足以真正跳过混淆的箍。我觉得花时间改进应用程序而不是找出在基础知识之外保护它的方法要好得多。如果人们想要它足够严重,他们就会得到它。我对逆向工程最关心的是揭示我使用过的专有算法。同样,我们的大多数客户都没有足够的计算机知识来解决这个问题。

干杯, 特洛伊

答案 9 :(得分:1)

不要提及你曾偶然发现过的每个.NET产品,而是要记住每个人,Java也在JVM中运行,并且可以像.NET一样以相同的方式进行逆向工程

在.NET成熟之前,Java已经在很多不同的域中从桌面到服务器的各个地方使用过。

对于“商业”/“严肃”(选择你最喜欢的“我比其他人更好”形容词)R-E的迷恋被夸大了。

我承认发生了代码窃取(但是,这通常适用于小型企业,而不会被注意到......否则公关损失太大)。但如果有人想要R-E你的申请,无论你试图添加多少保护,他都会这样做。一点点保护是好的,但是疯狂其他只是愚蠢。

答案 10 :(得分:1)

Clear Office Spreadsheet是用.NET编写的。它看起来真的像Excel

答案 11 :(得分:1)

媒体中心(部分内容,主要是界面)
Zune播放器(部件)
Expression Blend

答案 12 :(得分:1)

答案 13 :(得分:1)

不要忘记F-Spot(照片管理员)和Banshee(音乐)都是在Mono上运行的,其中不包括政治和专利,而是.net for linux。但它们是桌面应用程序。

答案 14 :(得分:0)

Nikon Capture NX for Windows需要.NET Framework,但显然整个事情都不是托管代码。

SourceGear Fault和Fortress客户。

答案 15 :(得分:0)

Novell的PlateSpin Migrate / Protect和Recon产品都有.NET桌面客户端。然而,这些目标是针对企业而非消费者。

免责声明:我在那里工作......

答案 16 :(得分:0)

ComicRack就是一个例子。 Family.Show也很好。

答案 17 :(得分:0)

Linn Products用于管理其高端音频系统组件的一些更现代的实用程序是用.NET编写的

答案 18 :(得分:0)

XNA Framework允许独立开发人员用C#托管代码编写XBox 360和Windows游戏。这些可以通过XBox Live商业商业获得:

http://catalog.xna.com/en-US/gamescatalog.aspx

游戏在XBox平台上运行的事实使得对代码进行反向工程变得更加困难,但我怀疑并非不可能。

答案 19 :(得分:0)

FlashDevelop(开源)是另一个很好的http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page