C# 如何理解类名add<&燃气轮机;象征?
如何理解C语言中的这段代码C# 如何理解类名add<&燃气轮机;象征?,c#,il,C#,Il,如何理解C语言中的这段代码 使用系统; 内部类 { } 类名不能包含符号,但允许在代码中包含它?你将如何做到这一点?我如何理解这种差异 请看下面的代码: internal class <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE} { static <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}() { if (!(eqXmHMg8VVPy3nYe
使用系统;
内部类
{
}
类名不能包含符号
,但允许在代码中包含它?你将如何做到这一点?我如何理解这种差异
请看下面的代码:
internal class <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}
{
static <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}()
{
if (!(eqXmHMg8VVPy3nYeAo.eHiMp4DL8(Convert.ToBase64String(Type.GetTypeFromHandle(epOl6XynGueNUNwY5Y.e53w34m968awCm9P85taUZe(33554477)).Assembly.GetName().GetPublicKeyToken()), "eObc8gibn") != "34NavQ/3DsKjaKpYVSNSMjtuaXO9zUZlQl7AY+p3wrM="))
{
return;
}
while (true)
{
eqXmHMg8VVPy3nYeAo.ce4DmfsmSrOT856tDgfrkMb();
}
}
}
内部类{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}
{
静态{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}()
{
如果(!(eqXmHMg8VVPy3nYeAo.eHiMp4DL8(Convert.ToBase64String(Type.GetTypeFromHandle(epol6xynguenuwy5y.e53w34m968awCm9P85taUZe(33554477)).Assembly.GetName().GetPublicKeyToken(),“eObc8gibn”)!=“34NavQ/3dskjakpyvsmjtuaxo9zuzl7ay+wrp3m=”)
{
返回;
}
while(true)
{
eqXmHMg8VVPy3nYeAo.ce4dmfssrot856tdgfrkmb();
}
}
}
这个类甚至没有名称空间
我反编译了这个DLL。但我如何使用此代码并消除混淆?这看起来可能是代码。这是以一种仍然有效的方式编译成IL的代码,但人类不容易理解 这是因为C#和IL中有效标识符的规则不同。因此,当您尝试反编译代码时,您得到的是无效的C#,但IL本身是有效的
此外,类不必在名称空间中,即使在C#中也是如此。我认为这里缺少类名,只提到泛型类型。这应该是这样的,内部类MyClass{}。更多细节:我不知道这段代码来自哪里,但它看起来像是反编译的代码。你不允许写这样的代码,但编译器可以。编译器经常使用“无法说出的名称”来防止名称与代码冲突。@Nickedi您不允许用C#编写此类代码。但是如果你直接写IL,你可以写出来。@svick你完全正确。我应该更精确,而不是暗示知识。(问题是如何理解C#中的代码?这是无效的C#代码。)谢谢,我会尽力理解它。你有什么建议吗?
internal class <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}
{
static <Module>{D8BAC701-C957-4CBE-8F97-37BB3A7DAFFE}()
{
if (!(eqXmHMg8VVPy3nYeAo.eHiMp4DL8(Convert.ToBase64String(Type.GetTypeFromHandle(epOl6XynGueNUNwY5Y.e53w34m968awCm9P85taUZe(33554477)).Assembly.GetName().GetPublicKeyToken()), "eObc8gibn") != "34NavQ/3DsKjaKpYVSNSMjtuaXO9zUZlQl7AY+p3wrM="))
{
return;
}
while (true)
{
eqXmHMg8VVPy3nYeAo.ce4DmfsmSrOT856tDgfrkMb();
}
}
}