做类、方法和变量 名获得包括在集 之后编写的Windows的应用程序项目纳入一个EXE?

  • 对于 混淆 -小名称,难以扭转工程师。
  • 和对 性能 -较短的名称、更快的访问。

例如 因此,如果方法称为通过名称:

  • 保持名字 , ,更好的性命名的-查找。
  • 保持名字 神秘的, 难反编译.
有帮助吗?

解决方案

是的,他们在IL-火了 反射器 你会看到他们。如果他们最终没有在伊利诺伊,你不能建立对他们的作为库。(是的,你可以参考。exe文件,如果他们的类库。)

然而,这是所有解决一旦在JIT。

保持名字 可读 这样你就可以维持码的未来。性问题是不太可能 任何 可衡量的差异,而且如果你想要混淆你的代码,不要这样做的源代码的水平(这里 你们 一读的代码)-做到这一目的建造的混淆。

编辑:作为包含什么-为什么不刚刚启动反射器或ildasm,并找出来的?从存储器,你失去了当地的变量名称(其是在pdb文件如果你建立),但是关于它。私方法的名称和私人的变量名称仍然存在。

其他提示

是的,他们这样做。我不认为会有显着的性能增加通过使用较短的名称。有没有办法,获得克服了损失的可读性。

当地变量不包括在集.领域、方法、课程等。变量指数的基础。

成员的名字不包括在IL他们是否是私人或公共的。事实上,在所有的你的代码变得含过,如果你想使用反射镜,你几乎可以读取所有源代码的应用程序。什么左边的是调试的应用程序,并且我认为可能有用工具。

你必须绝对的(我也不能强调多种)模糊你的代码如果你正在做的包装应用程序有一定数量的客户机会和竞争。幸运的是有一定数量的obfuscators。

这是一个重大的抱怨,我有。网。自从MS是这样做许多艰苦的工作,在此,为什么不开发(或获取)专业混淆,并使这一部分比。Dotfuscator只是不切,不版本,他们已经为社区。

  • 保持名短,更好 性命名的-查找。

这怎么可能做出的任何区别?我不知道该如何标识符抬起头来通过虚拟机,但我敢肯定它没有这样做的直串比较查找。这将是最糟糕的可能的方式来做到这一点。

  • 保持名的神秘,难以进行.

说实话,我不认为代码混淆帮助那么多。最有能力的开发商那里已经开发了一个"第六感",以找出事情很快即使标识方法的名称是完全无益,因为,常常源代码,他们需要保持或提高已经拥有这些问题(我谈论方法的名称,如"DoAllStuff()").

无论如何, 通过隐藏的安全通常是一个糟糕的主意.

如果你担心混淆。净反应堆。我测试了8种不同的obfuscators和反应器不仅是最便宜的商业之一,它是第二个最好的一群人(最好是最昂贵的一个,Dotfuscator金)。

[编辑]

实际上现在,我想想看,如果你关心的是模糊的方法名称的一个附带VS.NET,Dotfuscator社会版,应该工作的罚款。

我想他们加入,但是名称的长度不会产生任何影响,因为这种方法的功能,名字抬头。至于模糊,我认为有的工具(Dotfuscator或类似的东西),基本上做到你在说什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top