【问题标题】:How to protect C# application from Decompilation and disassembly如何保护 C# 应用程序免受反编译和反汇编
【发布时间】:2012-06-17 05:09:59
【问题描述】:

假设一旦构建了exe,没有人可以挖掘出源代码或应用程序的oi-outs,但在查看之后 Is it possible to "decompile" a Windows .exe? Or at least view the Assembly?

我的假设是错误的。那么如果每个逻辑都只在exe内部烧毁,那么保护我们的VS项目的方法是什么。

如果我们使用C#开发的DLL,那么它也可以反编译吗?

【问题讨论】:

标签: c# windows security


【解决方案1】:

您必须使用混淆器来完成您的任务。
您可以免费找到某人(能力有限)和许多商业广告。
用“c# obfuscator”搜索谷歌看看。

【讨论】:

    【解决方案2】:

    您可以使用Obfuscation 使其难以反汇编。

    【讨论】:

      【解决方案3】:

      您使用代码混淆,该工具会将您的代码更改为人类无法理解您的代码的形式。

      它会将您的有效/可读函数名称更改为不可读形式。例如,GetPersonData()__A___ASAS_()

      https://stackoverflow.com/questions/805549/free-obfuscation-tools-for-net

      【讨论】:

        【解决方案4】:

        没有办法阻止任何人反编译

        您可以使用obfuscator 更改变量、方法或类的名称,使您的代码更难理解。

        根据 msdn。

        至于保护,有许多不同的方案 客户已经告诉我了。

        1. 没有保护。一些公司销售的产品要么附带源代码,要么具有可以单独购买的源代码,或者具有 选择不保护其应用程序的某些部分 小IP。
        2. 一些公司使用 VS 7.1 附带的混淆器(PreEmptive Solution Dotfuscator 的“社区版”)
        3. 一些公司使用其中一种商业混淆器。 MSDN 上的 C# 开发人员中心有一个 list
        4. 一些公司用 C++ 编写代码的敏感部分,将其编译为非托管 DLL,然后使用互操作调用 非托管 DLL。

        【讨论】:

          【解决方案5】:

          有一些软件许可工具允许您使用他们的安全 API 和工具封装和加密您的代码。看看 SafeNet Sentinel LDK。问题是它不是免费的。但是除了上述之外,确实允许您为软件的 ip 提供额外的安全性。

          【讨论】:

            猜你喜欢
            • 2012-12-16
            • 1970-01-01
            • 2011-01-29
            • 1970-01-01
            • 2011-02-22
            • 1970-01-01
            • 2012-07-27
            • 2015-09-18
            • 2017-03-26
            相关资源
            最近更新 更多