有人用。net写桌面应用吗?

时间:2022-11-14 08:25:46

I honsetly can't say that I have ever seen a commercial app that uses .NET (other then controls for devs/open source). With it being so easy to 'decompile' a .NET application using RedGates .NET Reflector, I was wondering if .NET was geared toward ASP.NET (since you can't 'decompile' because the code runs on a server and is not stored on the users machine)?

我不能说我从来没有见过使用。net的商业应用程序(然后是对devs/开源软件的控制)。使用RedGates . net Reflector“反编译”. net应用程序非常容易,我想知道。net是否适合于ASP。NET(因为不能“反编译”,因为代码运行在服务器上,而不是存储在用户机器上)?

20 个解决方案

#1


25  

My company builds medical imaging applications in .NET 3.5 with WPF. I am currently developing my own application in .NET as well.

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

Paint.NET is writen, oddly enough, in native code. I'm blatently lying about the previous sentence. It's obviously written in .NET.

油漆。奇怪的是,NET是用本地代码编写的。我公然撒谎说上一句。它显然是用。net写的。

It's more prevalent than you may think.

它比你想象的更普遍。

As someone else mentioned - you can use an obfuscator to make it more difficult for others to decompile your application. It's not impossible, but it's more difficult - that being said, anything can be decompiled/reversed engineered given enough time/resources.

正如其他人提到的那样——您可以使用模糊处理程序使其他人更难分解您的应用程序。这并不是不可能的,但更困难的是,只要有足够的时间/资源,任何东西都可以被反编译/反编译。

#2


11  

The Microsoft Expression Studio is .NET

微软的表达式工作室是。net

Visual Studio 2010 is .NET

Visual Studio 2010是。net

Red Gate Software is (mostly) .NET

Red Gate软件主要是。net

...there's also SharpDevelop (open source though), and Microsoft Pro Photo tools.

…此外还有sharpdevelopment(虽然是开源的)和Microsoft Pro Photo工具。

#3


8  

I know of enterprise applications that use .NET, though I think most use managed C++, which can't be decompiled with Reflector.

我知道有一些企业应用程序使用。net,尽管我认为大多数使用的是托管c++,它不能用Reflector进行反编译。

I personally sell a .NET based Windows application. I use Eazfuscator.NET to obfuscate the code. There are lots of commercial and free tools that obfuscate .NET code after compilation.

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

#4


5  

Well personally, I use Microsoft Pro Photo Tools for geotagging. It is written in .Net. You can also obfuscate the code to make it so the reflector tool cannot read it. Read Microsoft's article on obfuscating a .Net app.

就我个人而言,我使用微软专业摄影工具进行地理标记。它是用。net编写的。您还可以混淆代码,使其无法被reflector工具读取。阅读微软关于混淆。net应用的文章。

#5


5  

Many commercial software products use .NET. One of my favorite games, Auran's Trainz series, is written largely in .NET. But I would agree that a larger portion of their focus for .NET is internal business apps and web based apps. I think, however, that as WPF gains traction that you will start to see a lot more Windows apps use .NET as their backend language. And as others have said, there are a number of tools available to help obfuscate your code. But if your concern is reverse engineering, pretty much any development language can be reverse engineered if someone really wanted to.

许多商业软件产品使用。net。我最喜欢的游戏之一,Auran的Trainz系列,主要是用。net编写的。但是我同意他们对。net的关注大部分是内部的商业应用和基于web的应用。然而,我认为随着WPF的发展,你将会看到越来越多的Windows应用使用。net作为他们的后端语言。正如其他人所说,有许多工具可以帮助混淆代码。但是,如果您关注的是逆向工程,那么几乎任何开发语言都可以反向工程,如果有人真的想这么做的话。

#6


4  

Most products from RedGate are .net desktop apps

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

#7


3  

The excellent image editing software Paint.NET is written 100% in C# managed code.

优秀的图像编辑软件。NET 100%用c#托管代码编写。

#8


1  

Don't forget that F-Spot (photo manager) and Banshee (music) are both written to run on Mono, which, leaving politics and patents out of it, is .net for linux. But they are desktop apps.

不要忘记,F-Spot(照片管理器)和Banshee(音乐)都是在Mono上运行的,而Mono是linux的。net,不涉及政治和专利。但它们是桌面应用。

#9


1  

#10


1  

Media Center (some parts, mostly the interface)
Zune player (parts)
Expression Blend

媒体中心(部分部分,主要是界面)Zune播放器(部分)表达式混合

#11


1  

Clear Office Spreadsheet is written in .NET. It really looks like Excel

清晰的办公电子表格是在。net中编写的。看起来很像Excel

#12


1  

Instead of mentioning each .NET product you ever stumbled upon, let just remember everyone that Java is also running in a JVM and can be reverse engineered in the same way and for the same reason as .NET

不要提及你偶然发现的每一个。net产品,让我们记住Java也在JVM中运行,并且可以以与。net相同的方式和原因进行反向工程

And Java has been used everywhere from the desktop to the server in many different domains long before .NET was mature.

早在。net成熟之前,Java就已经在许多不同的领域中被广泛使用,从桌面到服务器。

The obsession about R-E for "business"/"serious" (choose your favorite "I'm better than others" adjective) application is overblown.

对“business”/“serious”(选择你最喜欢的形容词“I'm better than others”)使用R-E的迷恋有些夸张。

I admit that code-stealing happens (however, that's often for small shaddy businesses than can do this without being noticed...otherwise PR damages are too great). But if someone wanna R-E your application, he will do it no matter how many protections you tried to add. A little protection is good, but going crazy other it is just stupid.

我承认代码偷取确实发生了(然而,这对于小公司来说通常比不被注意就能做到的还要多……)否则,公关损失就太大了)。但是如果有人想要限制你的应用,不管你加了多少保护措施,他都会这么做。

#13


1  

I write a com interop plugin to a CAD system using VB.net. It easily handles all of the requisite 3D mathematics without having to resort to using the CAD engine functions. Originally it was written in VB6. I have to say that it is a joy using .Net instead of VB6. I am far more productive, the code is a lot cleaner and more loosely coupled. As some of the previous posters said, if you need some hard core performance you can always use c++ or c. If you develop on a windows environment, .Net should be your first choice (at least for the presentation and business layers).

我用VB.net编写了一个com互操作插件到CAD系统。它可以轻松地处理所有必需的3D数学,而不需要使用CAD引擎功能。最初是用VB6写的。我不得不说,使用。net而不是VB6是一种乐趣。我的工作效率要高得多,代码要干净得多,耦合也更松散。正如之前的一些海报所言,如果你需要一些核心性能,你可以使用c++或c语言。

Am I worried about reverse engineering, yes. But not enough to really jump through the obfuscation hoops. I feel it is much better to spend time improving the application instead of figuring out ways to protect it outside the basics. If people want it badly enough they will get it. My biggest concern with reverse engineering is revealing the proprietary algorithms that I have used. Again, most of our customers are not computer literate enough to make that a concern.

我担心逆向工程吗?但这还不足以让我们真正跨越困惑。我觉得花时间改进应用程序比找出保护它的基本方法要好得多。如果人们非常渴望得到它,他们就会得到它。我对逆向工程最关心的是揭示我使用的专有算法。再说一遍,我们的大多数客户都不懂电脑,这让人担心。

Cheers, Troy

干杯,特洛伊

#14


1  

I really like the question and i've always been asking myself the same thing! what if someone out there could decompile and use this code that i've worked so hard to finish?!
That being said, I have been using .Net languages over the past 7 years for all the products i've worked on! could it be decompiled? SURE! but, should i be angry that someone can use my code if they worked hard enough to decompile it and then understand it? for me, I would be happy if someone spent time and resources to do so! it means that i'm good enough! it also means that i'm participating in educating someone out there!
On the other hand, by the time when that someone is using ur code, i guess you would be far forward developing more advanced stuff that you would even have forgotten about that older code u wrote a couple of years ago!
i have just finished working on a product that can be used as an archiving system, human resource management system and administrative management for middle sized companies and it will be in the market soon.
As a bottom line, i would say: knowledge should be available for all those would spend time to seek for it to make use of it! Imagine if some of the greatest scientists have died before having their knowledge spread out to all of us!

我真的很喜欢这个问题,我一直在问自己同样的问题!如果有人能将我辛辛苦苦完成的代码分解并使用呢?!话虽如此,在过去的7年里,我一直在使用。net语言的所有产品!它可以反编译?当然!但是,如果有人能够使用我的代码,如果他们足够努力地将代码分解,然后理解它,我应该感到愤怒吗?对我来说,如果有人花时间和资源去做,我会很开心!这意味着我足够好了!这也意味着我正在参与教育某人!另一方面,当有人使用您的代码时,我猜您将会开发更高级的东西,您甚至会忘记几年前您编写的旧代码!我刚刚完成了一个产品的工作,这个产品可以作为一个档案系统,人力资源管理系统,以及一个中型企业的行政管理系统,很快就会上市。作为一个底线,我想说:知识应该为所有那些花时间去寻找并利用它的人提供!想象一下,如果一些最伟大的科学家在他们的知识传播给我们所有人之前就去世了!

#15


0  

FlashDevelop (open source) is another good one http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page

flashdevelopment(开源)是另一个很好的例子:http://www.flashdevelopment .org/wikidocs/index.php?

#16


0  

Nikon Capture NX for Windows requires .NET Framework, though clearly the entire thing is not managed code.

尼康为Windows捕获NX需要。net框架,虽然很明显整个东西不是托管代码。

SourceGear Fault and Fortress clients.

源设备故障和要塞客户端。

#17


0  

Novell's PlateSpin Migrate/Protect and Recon products all have .NET Desktop Clients. These are however, targeted towards the enterprise, rather than the consumer.

Novell的PlateSpin migration /Protect和Recon产品都有。net桌面客户端。然而,它们针对的是企业,而不是消费者。

Disclaimer: I work there...

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

#18


0  

ComicRack would be an example. Family.Show is nice as well.

ComicRack就是一个例子。家庭。表演也不错。

#19


0  

Some of the more modern utilities that Linn Products uses for managing its high-end audio system components are written in .NET

Linn产品用于管理高端音频系统组件的一些更现代的实用工具是用。net编写的

#20


0  

The XNA Framework allows independent developers to write XBox 360 and Windows games in C# managed code. These are available commercially via XBox Live:

XNA框架允许独立开发人员用c#托管代码编写XBox 360和Windows游戏。这些都可以通过XBox Live进行商业销售:

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

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

The fact that the game runs on the XBox platform makes it more difficult to reverse-engineer the code, but I suspect not impossible.

这款游戏在XBox平台上运行的事实使得逆向设计代码变得更加困难,但我认为这并非不可能。

#1


25  

My company builds medical imaging applications in .NET 3.5 with WPF. I am currently developing my own application in .NET as well.

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

Paint.NET is writen, oddly enough, in native code. I'm blatently lying about the previous sentence. It's obviously written in .NET.

油漆。奇怪的是,NET是用本地代码编写的。我公然撒谎说上一句。它显然是用。net写的。

It's more prevalent than you may think.

它比你想象的更普遍。

As someone else mentioned - you can use an obfuscator to make it more difficult for others to decompile your application. It's not impossible, but it's more difficult - that being said, anything can be decompiled/reversed engineered given enough time/resources.

正如其他人提到的那样——您可以使用模糊处理程序使其他人更难分解您的应用程序。这并不是不可能的,但更困难的是,只要有足够的时间/资源,任何东西都可以被反编译/反编译。

#2


11  

The Microsoft Expression Studio is .NET

微软的表达式工作室是。net

Visual Studio 2010 is .NET

Visual Studio 2010是。net

Red Gate Software is (mostly) .NET

Red Gate软件主要是。net

...there's also SharpDevelop (open source though), and Microsoft Pro Photo tools.

…此外还有sharpdevelopment(虽然是开源的)和Microsoft Pro Photo工具。

#3


8  

I know of enterprise applications that use .NET, though I think most use managed C++, which can't be decompiled with Reflector.

我知道有一些企业应用程序使用。net,尽管我认为大多数使用的是托管c++,它不能用Reflector进行反编译。

I personally sell a .NET based Windows application. I use Eazfuscator.NET to obfuscate the code. There are lots of commercial and free tools that obfuscate .NET code after compilation.

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

#4


5  

Well personally, I use Microsoft Pro Photo Tools for geotagging. It is written in .Net. You can also obfuscate the code to make it so the reflector tool cannot read it. Read Microsoft's article on obfuscating a .Net app.

就我个人而言,我使用微软专业摄影工具进行地理标记。它是用。net编写的。您还可以混淆代码,使其无法被reflector工具读取。阅读微软关于混淆。net应用的文章。

#5


5  

Many commercial software products use .NET. One of my favorite games, Auran's Trainz series, is written largely in .NET. But I would agree that a larger portion of their focus for .NET is internal business apps and web based apps. I think, however, that as WPF gains traction that you will start to see a lot more Windows apps use .NET as their backend language. And as others have said, there are a number of tools available to help obfuscate your code. But if your concern is reverse engineering, pretty much any development language can be reverse engineered if someone really wanted to.

许多商业软件产品使用。net。我最喜欢的游戏之一,Auran的Trainz系列,主要是用。net编写的。但是我同意他们对。net的关注大部分是内部的商业应用和基于web的应用。然而,我认为随着WPF的发展,你将会看到越来越多的Windows应用使用。net作为他们的后端语言。正如其他人所说,有许多工具可以帮助混淆代码。但是,如果您关注的是逆向工程,那么几乎任何开发语言都可以反向工程,如果有人真的想这么做的话。

#6


4  

Most products from RedGate are .net desktop apps

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

#7


3  

The excellent image editing software Paint.NET is written 100% in C# managed code.

优秀的图像编辑软件。NET 100%用c#托管代码编写。

#8


1  

Don't forget that F-Spot (photo manager) and Banshee (music) are both written to run on Mono, which, leaving politics and patents out of it, is .net for linux. But they are desktop apps.

不要忘记,F-Spot(照片管理器)和Banshee(音乐)都是在Mono上运行的,而Mono是linux的。net,不涉及政治和专利。但它们是桌面应用。

#9


1  

#10


1  

Media Center (some parts, mostly the interface)
Zune player (parts)
Expression Blend

媒体中心(部分部分,主要是界面)Zune播放器(部分)表达式混合

#11


1  

Clear Office Spreadsheet is written in .NET. It really looks like Excel

清晰的办公电子表格是在。net中编写的。看起来很像Excel

#12


1  

Instead of mentioning each .NET product you ever stumbled upon, let just remember everyone that Java is also running in a JVM and can be reverse engineered in the same way and for the same reason as .NET

不要提及你偶然发现的每一个。net产品,让我们记住Java也在JVM中运行,并且可以以与。net相同的方式和原因进行反向工程

And Java has been used everywhere from the desktop to the server in many different domains long before .NET was mature.

早在。net成熟之前,Java就已经在许多不同的领域中被广泛使用,从桌面到服务器。

The obsession about R-E for "business"/"serious" (choose your favorite "I'm better than others" adjective) application is overblown.

对“business”/“serious”(选择你最喜欢的形容词“I'm better than others”)使用R-E的迷恋有些夸张。

I admit that code-stealing happens (however, that's often for small shaddy businesses than can do this without being noticed...otherwise PR damages are too great). But if someone wanna R-E your application, he will do it no matter how many protections you tried to add. A little protection is good, but going crazy other it is just stupid.

我承认代码偷取确实发生了(然而,这对于小公司来说通常比不被注意就能做到的还要多……)否则,公关损失就太大了)。但是如果有人想要限制你的应用,不管你加了多少保护措施,他都会这么做。

#13


1  

I write a com interop plugin to a CAD system using VB.net. It easily handles all of the requisite 3D mathematics without having to resort to using the CAD engine functions. Originally it was written in VB6. I have to say that it is a joy using .Net instead of VB6. I am far more productive, the code is a lot cleaner and more loosely coupled. As some of the previous posters said, if you need some hard core performance you can always use c++ or c. If you develop on a windows environment, .Net should be your first choice (at least for the presentation and business layers).

我用VB.net编写了一个com互操作插件到CAD系统。它可以轻松地处理所有必需的3D数学,而不需要使用CAD引擎功能。最初是用VB6写的。我不得不说,使用。net而不是VB6是一种乐趣。我的工作效率要高得多,代码要干净得多,耦合也更松散。正如之前的一些海报所言,如果你需要一些核心性能,你可以使用c++或c语言。

Am I worried about reverse engineering, yes. But not enough to really jump through the obfuscation hoops. I feel it is much better to spend time improving the application instead of figuring out ways to protect it outside the basics. If people want it badly enough they will get it. My biggest concern with reverse engineering is revealing the proprietary algorithms that I have used. Again, most of our customers are not computer literate enough to make that a concern.

我担心逆向工程吗?但这还不足以让我们真正跨越困惑。我觉得花时间改进应用程序比找出保护它的基本方法要好得多。如果人们非常渴望得到它,他们就会得到它。我对逆向工程最关心的是揭示我使用的专有算法。再说一遍,我们的大多数客户都不懂电脑,这让人担心。

Cheers, Troy

干杯,特洛伊

#14


1  

I really like the question and i've always been asking myself the same thing! what if someone out there could decompile and use this code that i've worked so hard to finish?!
That being said, I have been using .Net languages over the past 7 years for all the products i've worked on! could it be decompiled? SURE! but, should i be angry that someone can use my code if they worked hard enough to decompile it and then understand it? for me, I would be happy if someone spent time and resources to do so! it means that i'm good enough! it also means that i'm participating in educating someone out there!
On the other hand, by the time when that someone is using ur code, i guess you would be far forward developing more advanced stuff that you would even have forgotten about that older code u wrote a couple of years ago!
i have just finished working on a product that can be used as an archiving system, human resource management system and administrative management for middle sized companies and it will be in the market soon.
As a bottom line, i would say: knowledge should be available for all those would spend time to seek for it to make use of it! Imagine if some of the greatest scientists have died before having their knowledge spread out to all of us!

我真的很喜欢这个问题,我一直在问自己同样的问题!如果有人能将我辛辛苦苦完成的代码分解并使用呢?!话虽如此,在过去的7年里,我一直在使用。net语言的所有产品!它可以反编译?当然!但是,如果有人能够使用我的代码,如果他们足够努力地将代码分解,然后理解它,我应该感到愤怒吗?对我来说,如果有人花时间和资源去做,我会很开心!这意味着我足够好了!这也意味着我正在参与教育某人!另一方面,当有人使用您的代码时,我猜您将会开发更高级的东西,您甚至会忘记几年前您编写的旧代码!我刚刚完成了一个产品的工作,这个产品可以作为一个档案系统,人力资源管理系统,以及一个中型企业的行政管理系统,很快就会上市。作为一个底线,我想说:知识应该为所有那些花时间去寻找并利用它的人提供!想象一下,如果一些最伟大的科学家在他们的知识传播给我们所有人之前就去世了!

#15


0  

FlashDevelop (open source) is another good one http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page

flashdevelopment(开源)是另一个很好的例子:http://www.flashdevelopment .org/wikidocs/index.php?

#16


0  

Nikon Capture NX for Windows requires .NET Framework, though clearly the entire thing is not managed code.

尼康为Windows捕获NX需要。net框架,虽然很明显整个东西不是托管代码。

SourceGear Fault and Fortress clients.

源设备故障和要塞客户端。

#17


0  

Novell's PlateSpin Migrate/Protect and Recon products all have .NET Desktop Clients. These are however, targeted towards the enterprise, rather than the consumer.

Novell的PlateSpin migration /Protect和Recon产品都有。net桌面客户端。然而,它们针对的是企业,而不是消费者。

Disclaimer: I work there...

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

#18


0  

ComicRack would be an example. Family.Show is nice as well.

ComicRack就是一个例子。家庭。表演也不错。

#19


0  

Some of the more modern utilities that Linn Products uses for managing its high-end audio system components are written in .NET

Linn产品用于管理高端音频系统组件的一些更现代的实用工具是用。net编写的

#20


0  

The XNA Framework allows independent developers to write XBox 360 and Windows games in C# managed code. These are available commercially via XBox Live:

XNA框架允许独立开发人员用c#托管代码编写XBox 360和Windows游戏。这些都可以通过XBox Live进行商业销售:

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

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

The fact that the game runs on the XBox platform makes it more difficult to reverse-engineer the code, but I suspect not impossible.

这款游戏在XBox平台上运行的事实使得逆向设计代码变得更加困难,但我认为这并非不可能。