将.exe转换为可读的源代码。 [英] Converting .exe into a readable source code.

查看:363
本文介绍了将.exe转换为可读的源代码。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我读过将.exe转换为可读的源代码。

这是真的吗?它写道是。

现在我正在制作一个应用程序来在市场上销售其源代码,是什么阻止买家将我的.exe应用程序变成可读的源代码?

我的意思是,我免费展示我的应用程序,他们可能会购买它的源代码。

他们不能把它变成可读的源代码吗?

我看在销售和他们购买,但他们不能提取源代码?



我听说.Net Reflector,人们写它可以提取源代码一个.Net应用程序,是真的吗?



还有很多其他情况严重的源代码。

我是困惑或不是真的?

I have read about "Converting .exe into a readable source code".
Is it really true? It writes "Yes".
Now i am making an app to sell its source code on a marketplace, what stops buyers from turning my .exe app into a readable source code?
I mean, i show my app for free and they may buy its source code.
Can't they just turn it into a readable source code?
I look at sales and they buy, but can't they extract a source code?

I heard about .Net Reflector, people write it is possible to extract a source code out a .Net app, is it true?

And there are lots of other cases when the source code is kept seriously.
I am confused or it is not true?

推荐答案

是和否。不,因为你完全困惑,而且,正式地说,问题甚至没有意义。你不能说转换和提取源代码。没有什么可以提取的。源代码不包含在汇编模块中。它不是保留的。你只是不明白。



同时,把它变成一个可读的源代码?是的,很容易。任何人都可以反编译.NET程序集并获取可以再次编译到同一程序集中的源代码。可读?是。当然,它不是相同的源代码,它在编译期间完全丢失,但它通常非常易读。使用开源ILSpy,你会看到:

http://en.wikipedia.org/wiki /.NET_Reflector [ ^ ],
http://en.wikipedia.org/wiki/SharpDevelop [ ^ ],

http://ilspy.net [ ^ ],
https://github.com/icsharpcode/ILSpy [ ^ ]。



这是可能的,因为编译的程序集是 用CIL(非机器语言)编写,代码是反射。请参阅:

http://en.wikipedia.org/wiki/Intermediate_language [< a href =http://en.wikipedia.org/wiki/Intermediate_languagetarget =_ blanktitle =New Window> ^ ],

http://en.wikipedia.org/wiki/Common_Intermediate_Language [ ^ ],

http://en.wikipedia.org/wiki/Reflection_%28computer_programming%29 [ ^ ],

https://msdn.microsoft.com/en-us/library/f7ykdhsy%28v=vs.110%29.aspx [ ^ ]。



-SA
Yes and no. No, because you are totally confused, and, formally, the questions don't even make sense. You cannot say "conversion" and "extract source code". There is nothing to extract. Source code is not contained in the assembly modules. It is not "kept". You just don't understand.

At the same time, "turn it into a readable source code"? Yes, easily. Anyone can decompile a .NET assembly and get source code which can be compiled again into the same assembly. Readable? Yes. It is, of course, not the same source code, which is completely lost during compilation, but it is usually quite readable. Use open-source ILSpy and you will see:
http://en.wikipedia.org/wiki/.NET_Reflector[^],
http://en.wikipedia.org/wiki/SharpDevelop[^],
http://ilspy.net[^],
https://github.com/icsharpcode/ILSpy[^].

This is possible because the compiled assemblies are "written" in CIL (not machine language) and the code is reflective. Please see:
http://en.wikipedia.org/wiki/Intermediate_language[^],
http://en.wikipedia.org/wiki/Common_Intermediate_Language[^],
http://en.wikipedia.org/wiki/Reflection_%28computer_programming%29[^],
https://msdn.microsoft.com/en-us/library/f7ykdhsy%28v=vs.110%29.aspx[^].

—SA


除了谢谢写的内容以及评论中的问题答案:

In addition to what Sergey wrote and answers to the questions in your comment:
引用:

你说.Net程序集,我说.Net应用程序,同样的事情?

You say .Net Assemblies, i say .Net Application, same thing?

.Net程序集是可执行文件(.exe)或动态链接库(.dll)正在使用可执行文件。通常,您将应用程序称为整个产品,其中包含运行所需的所有部件,其中包括.Net程序集。



.Net Assemblies are either Executables (.exe) or Dynamic Link Libraries (.dll) which are being used by Executables. Usually you refer to an Application as the whole product with all the parts that it requires to run, which includes .Net Assemblies.

引用:

好的,我们很简单,我在C#.Net上创建了一个应用程序,现在我有了.exe文件,我可以用来运行我的整个应用程序。

那么,任何人都可以将其转换为可读的源代码,然后自定义吗?

Ok, let's be simple, i made an app on C# .Net, and now i have .exe file i can use to run my whole app.
So, can anyone convert it into a readable source code, then customize it?

理论上是的。在实践中,它显然需要努力,问题是如果某人有足够的动力来做到这一点。假设您在讨论销售应用程序时可能造成的收入损失:考虑一下如果他无法做到这一点,那么会破解您的应用程序的人将成为付费客户。可能不是。但是,您可以采取一些措施来增加破解.Net应用程序所需的工作量:混淆器 [ ^ ]将修改应用程序的程序集,使得对反编译源代码的理解变得更加困难,有些甚至提供度量使反编译过程本身更难。

Theoretically yes. In practise it obviously requires effort and the question would be if someone would be sufficiently motivated to do that. Assuming you're talking about potential revenue losses when selling an application: Consider if someone who would hack your application would be a paying customer if he wasn't able to do that. Probably not. However, there are measures you can take to increase the amount of effort required to hack your .Net application: Obfuscators[^] will modify your application's assemblies in a way that it becomes considerably more difficult to make any sense of the source code that comes from decompiling, some even provide measures to make the decompiling process itself much harder.


这篇关于将.exe转换为可读的源代码。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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