6

我知道 .NET 应用程序很难保护。我使用 RedGate Reflector 并且知道一般来说您可以从许多 .NET dll 中获取源代码。

但是我的问题是 - 反编译整个应用程序实际上可行吗?

我的意思是 - 创建一个可行的 VS 解决方案,这样海盗就可以按 F5 并获得与作者在他的机器上完全相同的结果?

4

6 回答 6

4

Reflector have few plugins that allows to dump assembly into code:

http://www.denisbauer.com/home/reflectorfiledisassembler

http://filegenreflector.codeplex.com/

But I'm not sure that can create a project file.

于 2010-06-23T19:44:14.373 回答
1

是的,您只需从 Reflector 导出并为您的程序集获得一个完整的可运行项目。我已经做过几次了。通常,我必须将项目迁移到我的 VS 版本,有时它需要一些小的修复,但总的来说它可以工作。

于 2012-07-06T20:48:34.633 回答
1

For a small application, it is both possible AND feasible. You have to decompile the classes one by one and copy/paste the code into Visual Studio.

For a large application, while possible, it's not really feasible since the copy/paste process becomes extremely tedious.

于 2010-06-23T19:43:40.133 回答
1

It really depends on what kind of code you are writing. If you use a lot of the new features in C# 3 and above like lambda expressions, automatic properties, and yield, the decompiled source code is not runnable and requires quite a bit of work to get it to compile.

Even without those features though, I have usually experienced at least some problems compiling the decompiled source code of a full winforms application.

于 2010-06-23T19:44:25.920 回答
1

I don't think there's anything that fully automates this for an app made up of multiple assemblies, but I can say that it's really not that hard to stitch the pieces together into a solution yourself. Perhaps a bit tedious for a large app, but if you really want to it's certainly doable.

Fortunately, I don't worry about it that much.

于 2010-06-23T19:44:43.250 回答
1

There are many obfuscators these days that protect your .NET applications from decompilation. One such obfuscator is http://www.red-gate.com/products/smartassembly/index.htm . They try to make your well structured .NET IL code into spegatti code (which still works) that decompilers cannot generate original code. It's not like 100% sure piraters cannot get the recompilable code but it will not be easy for them to decompile when using obfuscator.

于 2010-06-23T19:45:19.383 回答