2012-03-27 85 views
6

我正在构建一些应用程序,并决定是时候通过混淆器运行我的代码。我下载并使用了Eazfuscator.NET,然后在安装应用程序之后,我下载了Ispy以查看过程如何工作。.Net混淆器问题

我发现的是,我仍然可以很容易地看到很多代码,例如我的例程中的大部分逻辑都存在于我的后台工作人员的某些部分。是的,字符串被改变了,但是我认为相当重要的一些空格是可见的。

例如,当我构建应用程序身份验证密钥时,在运行我的加密之前,我将某些项添加到密钥。这些项目在我使用Ispy查看程序集时可见。我的加密库的密码被隐藏起来了,但是我觉得这比我希望某人能够看到的更多信息。

我的问题是 - 使用混淆器时这是正常行为吗?或者我应该尝试其他的?以下为Eazfuscator.NET以获得更好的效果设置

+0

我会尝试其他的。我使用了dotfuscator,除了匿名类型外,它的功能非常好。 VS2010也有混淆我相信 – Brian 2012-03-27 12:55:08

+2

欢迎来到Stack Overflow!我使用了Eazfuscator,并且我得到了非常密集的硬核输出。确保你使用的是最新版本。尝试调整一些设置。 – ashes999 2012-03-27 13:34:51

+0

我看到很少的设置。你在说什么呢? – 2012-03-27 13:54:43

回答

3

使用方法:在你的程序集信息

[assembly: Obfuscation(Feature = "code control flow obfuscation", Exclude = false)] 
[assembly: Obfuscation(Feature = "PEVerify", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt symbol names with password mypassword", Exclude = false)] 
[assembly: Obfuscation(Feature = "encrypt resources [compress]", Exclude = false)] 

文件

+0

您列出的这些设置对输出输出的.exe文件非常有用。然而,与它一起构建的类库在程序集文件中具有相同的设置,但我仍然可以看到它的很多部分,例如函数参数。我需要为班级图书馆做些特别的事情吗? – 2012-04-02 20:47:31

+0

方法或属性是公共的吗?默认情况下,库中的public不会被混淆,因为它们对于附加该库的任何人都是公开的。 – Marcin 2012-04-03 07:40:24

+0

是的方法是公开的,因为我在各种不同的应用程序中使用相同的库。我在这里错过了些什么,我还有什么可以写一个可以重复使用的库,但它可以被混淆? – 2012-04-03 13:17:31

0

尝试Crypto Obfuscator - 它有很多的迷惑技术,包括字符串加密,控制流混淆,方法呼叫隐藏,资源保护等,这导致很难阅读和理解代码。

声明:我LogicNP软件,加密混淆器的开发工作。

0

用于混淆 程序集的高级混淆功能,因此混淆的.NET代码更难以理解或无法反编译。 我们可以通过代码保护来保护.NET应用程序和DLL,并且包含方法级代码加密,反向反向工程,反调试,反篡改和 以防止未经授权访问和修改组件。

我正在使用FxProtect - .Net混淆器。这真的很好。

,您可以尝试...... .Net Obfuscator