Obfuscator 的“阻止 Microsoft IL 反汇编程序打开我的程序集”选项
我一直在尝试使用 SmartAssembly 混淆器将代码保护应用于 WPF Prism 应用程序,但应用程序在混淆时拒绝正常工作。
唯一适用的选项是:阻止Microsoft IL 反汇编器打开我的程序集。
Red-Gates 帮助将其描述为:SmartAssembly 可以向程序集添加一个属性,以防止 Microsoft 的通用中间语言 (IL) 反汇编程序 (ildasm.exe) 打开程序集。
我想知道这种保护有多严重,如果代码没有真正混淆,是否值得应用。 或者,换句话说,这个Microsoft 通用中间语言 (IL) 反汇编程序 (ildasm.exe) 是什么?它是每个已知 .NET 逆向工程工具的主要部分,还是只是众多此类工具之一?
I've been trying to apply code protection using the SmartAssembly obfuscator to a WPF Prism application, but it the application refuses to work properly when being obfuscated.
The only option that works for it is: Prevent Microsoft IL Disassembler from opening my assembly.
The Red-Gates help describes it as: SmartAssembly can add an attribute to your assembly that prevents Microsoft's Common Intermediate Language (IL) Disassembler (ildasm.exe) from opening your assembly.
I wonder how serious is this protection, is it worth to be applied if the code isn't really obfuscated.
Or, in other words, what is it this Microsoft's Common Intermediate Language (IL) Disassembler (ildasm.exe)? Is it the main part of every known .NET reverse engineering tool or is it just one of the many such tools?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
ildasm.exe 是.Net Framework 附带的IL 反汇编程序。如果每个人都有 .Net,那么它就是唯一一个工具。它不是一个组件,因此其他反汇编程序不基于它或任何东西。
有问题的属性是
SuppressIldasmAttribute
。我不知道其他反汇编程序(例如 Reflector 或 ILSpy)是否尊重此属性,但我对此表示怀疑。粗略的 Google 搜索表明情况并非如此,并且SuppressIldasmAttribute
仅影响 ildasm.exe 本身。因此,它并不能真正保护您的程序集,也不能作为混淆工具使用。但是,如果您无论如何都在混淆,我看不出您有任何理由不应用此属性,因为它至少会阻止最简单(最常用)的反汇编方法,而且我认为它不会造成任何损害。
ildasm.exe is the IL disassembler that comes with the .Net Framework. It's the one tool that everyone has if they have .Net. It's not a component, so other disassemblers are not based on it or anything.
The attribute in question is the
SuppressIldasmAttribute
. I do not know if other disassemblers such as Reflector or ILSpy respect this attribute, but I doubt it. A cursory Google search suggests that is not the case, and that theSuppressIldasmAttribute
only affects ildasm.exe itself.As such, it doesn't really protect your assembly and isn't much use as an obfuscation tool. But if you are obfuscating anyway, I don't see any reason why you wouldn't apply this attribute, as it at least blocks the easiest (most commonly available) method of disassembly and I don't think it does any harm.