微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在exe中看到源代码,因为它应该是二进制的?

如何解决为什么在exe中看到源代码,因为它应该是二进制的?

最近我通过将扩展名重命名为 .txt 对我的一个 c# .NET 编译 exe 进行了实验。 在记事本中查看时,我能够看到我所有的英文源代码,这让我很困惑,如果我正在查看 .cs 文件或 .exe 文件

在这次事件之后,我意识到任何拥有这个 exe 的人都可以复制所有代码,然后将它们重新编译成一个带有一些隐藏的附加代码(或恶意软件)的克隆,这可能会损害我在用户中的声誉。

但是我对混淆有一点了解,它可以将所有方法属性重命名为非人类可读的格式,我仍然想在这里问,是不是一个 exe 程序应该(仅)在计算机可读的二进制文件中格式(正如我在学校学到的)?为什么还需要混淆?此问题是否仅限于具有 CLR 标头的 exe?如果我想让反编译变得困难,我是否应该考虑在其他语言(如 C)上创建应用程序? 请回答...

编辑:-大部分代码都可以在这个区域看到,我不知道它由源代码的哪一部分组成。

eg. code screenshot

Edt:- 同样,当我对使用 Visual Foxpro 编译的 exe 执行相同操作时(在项目属性中选中加密),除了一些程序集信息外,甚至看不到一个可读文本。其中使用了什么加密技术,我们可以在 dotnet(免费或付费)中使用它(或类似的)吗?

来源 - https://www.tek-tips.com/viewthread.cfm?qid=286147

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。