首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# dll混淆与整个项目混淆

c# dll混淆与整个项目混淆
EN

Stack Overflow用户
提问于 2015-04-22 21:36:28
回答 1查看 1.6K关注 0票数 2

对于我的主要软件产品,我创建了一个'keygen‘,它显然能够生成密钥并进行验证。这是一个‘逻辑’的关键,我不想使用它作为web服务(我不想强迫用户有一个互联网连接,以重新设计软件)。出于这些原因,我需要用像Dotfuscator这样的东西来混淆它,但是如果混淆了,我的项目就会失去一些很酷的东西,比如与.Net产品(ClickOnce)捆绑在一起的自动更新。

那么我的第一个问题是:是否可以将keygen创建为.dll,混淆它并在非混淆的软件中使用它?

如有,则:

  1. 我是否能够继续使用ClickOnce和其他非混淆的优势?
  2. 与整个项目的混淆相比,单个(和小型) .dll的混淆会使黑客更容易破解密钥吗?

如否:

  1. 与整个项目的混淆相比,单个(和小型) .dll的混淆会使黑客更容易破解密钥吗?

确切地说,你的种族是什么?谢谢你的帮助,请原谅我糟糕的英语:-)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-22 21:46:36

.NET混淆的问题是,任何对CIL有相当中等理解( C#编译成的)的人都会发现任何混淆都是相当容易通过的,即使他们无法通过混淆--如果内存没有得到适当的保护--他们就可以在整个程序的操作过程中监视内存的变化。

任何真正想进入你的项目的人都会。对于本地应用程序也是一样的。

尽管如此,如果您想用反射器保护自己不受普通脚本的影响,然后将keygen编译成dll并将dll单独混淆,就足以防止有人发现您的密钥生成算法并使用它创建keygen,然而,这仍然使他们有可能修补您的应用程序,从而在一定程度上防止应用程序的混淆。

总结一下:如果您想阻止普通用户创建keygen编译并将您的keygen混入dll,那么如果您想防止keygen和修补程序混淆的人,请将keygen保存在解决方案中并将其混淆。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29809321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档