【发布时间】:2011-09-06 09:40:18
【问题描述】:
大家好,
我正在调用 Type.GetProperties(),但是在运行 Dotfuscator 之后,它返回了零个项目,而之前它返回了多个零。
public class Test
{
public int Number { get; set; }
public void ShowInfo()
{
Type type = this.GetType();
PropertyInfo[] props = type.GetProperties();
Console.WriteLine("type [" + type.Name + "] props count: " + props.Length);
}
}
如果我在 Dotfuscator 中将“数字”属性排除在重命名之外,那么它会起作用,否则不会。但是,我不可能对项目中的所有属性都执行此操作,因为这可能会导致错误。
这种方法有什么解决方法吗?甚至是我可以使用的其他“免费”混淆应用程序?
我已经尝试在他们的网站上提交错误,但我只使用社区版,所以似乎没有那么多支持。
【问题讨论】:
-
能否请您在 ILSpy 或 Reflector 中打开您的混淆程序集并发布该类的混淆代码?
-
天哪,这是个好主意...我必须把代码放在哪里?对不起,我是新来的。
-
从 ILSpy 中的代码来看,它似乎已将属性转换为两个函数调用,一个用于 get 和 set!这无疑解释了为什么它说没有属性。但是接下来的工作是什么呢?
-
@LonelyCoder:只需编辑您的问题并将其放在那里
-
@LonelyCoder:反射和混淆就是不匹配...:/
标签: c# .net reflection obfuscation