【问题标题】:comments compiled into .exe in .net?在.net 中编译成.exe 的评论?
【发布时间】:2010-10-23 17:15:09
【问题描述】:

我知道您可以使用 .net 反射器来查看使用 .net 创建的代码,但如果我在 cmets 中放了一些东西以供我个人提醒,那也是在 exe 中编译的。

我不打算发布我的应用程序的源代码,我知道 100% 安全的赌注是删除所有我不想要的东西,但我只是想知道是否有人可以对我的 cmets 进行逆向工程。

【问题讨论】:

    标签: c# .net compiler-construction comments


    【解决方案1】:

    编译器会忽略注释。它们不会被放入输出可执行文件中。

    【讨论】:

      【解决方案2】:

      不,cmets 不在编译的可执行文件中。

      【讨论】:

        【解决方案3】:

        不,cmets 不包含在您的代码中;但是,类、方法和成员是。因此,如果您使用自记录代码,一些逻辑将是可辨别的。如果您担心任何人反映您交付的代码中的信息,我建议使用混淆。

        【讨论】:

          【解决方案4】:

          正如其他人所说:注释未编译。但您可以在 C# 项目设置中启用 xml 文档创建。 如果您随后使用 MS 文档语法(///

          ... 等),则会生成一个额外的 .xml 文件。

          如果 Reflector 加载程序集,它还会查找 .xml 文档文件并使用 XML 文件中的文档装饰声明!

          【讨论】:

            【解决方案5】:

            如果您想自己检查其中的内容,请使用“字符串”实用程序(Cygwin 版本很好)并在您的代码上运行它。它会打印出二进制文件中所有清晰的字符串。不,正如其他人所说,没有 cmet 能够通过。

            【讨论】:

              【解决方案6】:

              不用担心,编译器会忽略 cmets。

              【讨论】:

                【解决方案7】:

                请注意,PDB 文件可能包含此信息。

                查看:How much information do pdb files contain? (C# / .NET)

                【讨论】:

                • 源代码本身不是pdb文件的一部分......并且链接的问题不支持帖子中的声明。
                猜你喜欢
                • 1970-01-01
                • 2016-06-07
                • 2014-11-28
                • 1970-01-01
                • 2011-02-04
                • 2012-04-17
                • 1970-01-01
                • 2013-12-31
                • 2018-09-22
                相关资源
                最近更新 更多