我被要求帮助一个源代码不再可用的 C# 项目。幸运的是,该项目的非混淆调试版本可用,因此我通过 Reflector 运行它,重建的源代码看起来非常好。
我有一个奇怪的问题。一些很明显应该是字符串的对象是这样出来的:
string str7 = new string();
str7.Value = strArray3[k];
现在,string 没有无参数构造函数,也没有 Value 属性。我想我可以删除实例化并删除 .Value 属性,事情可能会按预期工作,但我想了解是否可能发生比反射器错误更多的事情。
另一个有趣的部分是几乎所有的变量都是用听起来很原始的名称重建的,但是这个(和其他一些)似乎被分配了随机名称。
任何见解都非常受欢迎。