【问题标题】:Stripping variable names from VB.Net assemblies从 VB.Net 程序集中删除变量名
【发布时间】:2010-03-29 18:25:25
【问题描述】:

我试图尽可能减少我的 VB.Net 程序集方面,我只是发现所有变量名称在实际程序集中都保持不变。由于我倾向于使用很长的 var 名称,因此它加起来,通过在我的程序集上运行 dotfuscator,我可以将其缩小多达 10%。

因此我想知道:有没有办法告诉 Visual Studio 在生成的程序集中使用较短的 var 名称?使用 dotfuscator 是否有任何缺点(我认为避免使用它,因为每次编译后都需要调用它,因此迫使我更新构建脚本......)?

非常感谢, CFP。

【问题讨论】:

  • 10% 是多少?几百kB?
  • 少得多。大约 20kB。
  • 那就不值得了。
  • 是的。为什么不呢?节省数据传输和应用程序大小对我来说似乎非常重要,如果可能的话,我认为没有理由不优化我的 exe 大小。

标签: vb.net assemblies dotfuscator downsize


【解决方案1】:

没有。在没有任何指导的情况下更改名称实际上是不安全的。重命名可能会破坏代码,尤其是在您使用反射时。

Visual Studio 始终追求安全。如果你想重命名你的变量,你可以在构建脚本中添加混淆,让它们在每次构建时自动重做。

话虽如此,一旦 JIT 在运行时编译了程序集,就没有关系了。混淆和使用较短名称的唯一优点是程序集稍微小一些,这可能会(稍微)缩短加载时间,但对运行时影响不大。

【讨论】:

  • 谢谢!这实际上与性能无关,而与减少服务器负载有关。另外,我对最终的程序集大小有非常严格的限制......我想我会尽力而为,直到我真的没有其他解决方案,只能使用混淆:)
【解决方案2】:

您可以购买一个 .NET Obsfucator 来进行压缩:

http://www.xenocode.com/Obfuscator/

【讨论】:

  • 其实我只需要vars重命名部分,反正我用的是7z压缩。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-23
  • 2010-10-28
  • 2011-11-09
相关资源
最近更新 更多