我该如何保护我的.NET程序集的编译? [英] How can I protect my .NET assemblies from decompilation?

查看:118
本文介绍了我该如何保护我的.NET程序集的编译?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一,如果我学会了,当我开始用C#的第一件事情是最重要的。你可以反编译任何.NET程序集与反射器或其他工具。许多开发人员没有意识到这个事实,他们大多是震惊,当我向他们展示他们的来源$ C ​​$ C。

One if the first things I learned when I started with C# was the most important one. You can decompile any .NET assembly with Reflector or other tools. Many developers are not aware of this fact and most of them are shocked when I show them their source code.

防止反编译仍是一个艰巨的任务。我仍然在寻找一种快速,简单和安全的方式来做到这一点。我不想混淆我的code,所以我的方法名称将是A,B,C左右。反射器或其他工具应该是无法识别我的应用程序作为.NET程序集的。我所了解的一些工具了,但是他们都非常昂贵。有没有来保护我的应用程序的任何其他方式?

Protection against decompilation is still a difficult task. I am still looking for a fast, easy and secure way to do it. I don't want to obfuscate my code so my method names will be a,b,c or so. Reflector or other tools should be unable to recognize my application as .NET assembly at all. I know about some tools already but they are very expensive. Is there any other way to protect my applications?

编辑:

原因我的问题是不是prevent盗版。我只想从阅读我的code阻止竞争对手。我知道他们会和他们已经做到了。他们甚至告诉我的。 也许我有点偏执,但生意上的对手看我的code没有让我感觉很好。

The reason for my question is not to prevent piracy. I only want to stop competitors from reading my code. I know they will and they already did. They even told me so. Maybe I am a bit paranoid but business rivals reading my code doesn't make me feel good.

推荐答案

有一点要记住的是,你要做到这一点的方式,使商业意义。要做到这一点,你需要定义自己的目标。那么,到底什么是您的目标是什么?

One thing to keep in mind is that you want to do this in a way that makes business sense. To do that, you need to define your goals. So, exactly what are your goals?

preventing盗版?这个目标是不可能实现的。即使本地code可以反编译或破裂;众多名单中可在线(即使产品像Windows和Photoshop)的证明了这一点。

Preventing piracy? That goal is not achievable. Even native code can be decompiled or cracked; the multitude of warez available online (even products like Windows and Photoshop) is proof of that.

如果您不能prevent盗版的,那么怎么样仅仅是减少了吗?这也就是误导。只需要一个人开裂的$ C $下它是提供给大家。你有充分的时间是幸运的。海盗们只需要一次是幸运的。

If you can't prevent piracy, then how about merely reducing it? This, too, is misguided. It only takes one person cracking your code for it to be available to everyone. You have to be lucky every time. The pirates only have to be lucky once.

我把它放到你的你的目标应该是追求利润最大化。您似乎认为,停止盗版行为是必要的这一努力。它不是。利润简直是收入减去成本。 停止盗版的增加的你的成本,所以减少了等式的一边。 保护您的产品也做的没有的,以增加收入。我知道你看看所有那些海盗和看到所有的钱,你可以做,只要他们愿意支付的许可费,而不是,但实际情况是,这将永远的发生。如果海盗们无法破解您的安全,他们会找到一条类似的产品,他们可以破解或没有。他们将的永远的买它来代替。

I put it to you that your goal should be to maximize profits. You appear to believe that stopping piracy is necessary to this endeavor. It is not. Profit is simply revenue minus costs. Stopping piracy increases your costs, and so reduces that side of the equation. Protecting your product also does nothing to increase your revenue. I know you look at all those pirates and see all the money you could make if only they would pay your license fees instead, but the reality is that this will never happen. If pirates are unable to crack your security, they'll either find a similar product that they can crack or do without. They will never buy it instead.

此外,保护您的产品实际的降低的收入。有两个原因。一个是客户的一个很小的比例将与您激活或安全问题,因而也将决定不会再购买或要求他们的钱。另一种是,人一小部分真正尝试的软件盗版,以确保前购买它的工作原理。限制你的产品的盗版分布(如果的你都弄好了能在该成功)prevents这些人曾经尝试你的产品,所以他们永远不会买它。此外,海盗还可以帮助您的乘积S $ P $垫更广泛的受众,从而达到更多的人谁愿意为它付出。

Additionally, securing your product actually reduces revenue. There are two reasons for this. One is that a small percentage of customers will have trouble with your activation or security, and will therefore decide not to buy again or ask for their money back. The other is that a small percentage of people actually try a pirated version of software to make sure it works before buying. Limiting the pirated distribution of your product (if you are somehow able to succeed at that) prevents these people from ever trying your product, and so they will never buy it. Moreover, piracy can also help your product spread to a wider audience, thus reaching more people who will be willing to pay for it.

一个更好的策略是,认为你的产品将被盗版,并想办法掌握情况的优势。一对夫妇的话题更多的链接:
<一href="http://stackoverflow.com/questions/2338337/how-do-i-$p$pvent-my-$c$c-from-being-stolen/2338556#2338556">How我该prevent被偷走了我的code?
保护.NET应用程序

A better strategy is to assume that your product will be pirated, and think about ways to take advantage of the situation. A couple more links on the topic:
How do i prevent my code from being stolen?
Securing a .NET Application

这篇关于我该如何保护我的.NET程序集的编译?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆