反射器:此代码中的注释是否意味着整个事物被混淆了?

Car*_*ter 5 obfuscation reflector

因此,在下面的代码中,您会注意到"//此项目已被混淆且无法翻译".

我想知道的是,这是否意味着注释代替了一些混淆的代码,后面的内容实际上没有被混淆,或者它是否意味着"下面的代码被混淆了"?

从我在网上可以找到它听起来像前者但我不确定.代码显然看起来很模糊,但它不是不可翻译的,只是搞笑.

public static NameValueCollection ParseStringIntoNameValueCollection(string responseString, bool undoCallbackEscapes)
{
    // This item is obfuscated and can not be translated.
    NameValueCollection values;
    string[] strArray;
    int num;
    string str2;
    string str3;
    int num3;
    goto Label_0027;
Label_0002:
switch (num3)
{
    case 0:
        if (!undoCallbackEscapes)
        {
            goto Label_0057;
        }
        num3 = 4;
        goto Label_0002;

    case 1:
        goto Label_00E5;

    case 2:
        if (num < strArray.Length)
        {
            string str = strArray[num];
            int index = str.IndexOf('=');
            str2 = str.Substring(0, index);
            str3 = str.Substring(index + 1);
            num3 = 0;
        }
        else
        {
            num3 = 6;
        }
        goto Label_0002;

    case 3:
        if (7 < (7 - 5))
        {
            goto Label_0071;
        }
        goto Label_00E5;

    case 4:
        str2 = unEscapeCallbacks(str2);
        str3 = unEscapeCallbacks(str3);
        num3 = 5;
        goto Label_0002;

    case 5:
        goto Label_0057;

    case 6:
        return values;
}
Label_0027:
    values = new NameValueCollection();
    strArray = responseString.Split(new char[] { '&' }, StringSplitOptions.RemoveEmptyEntries);
    num = 0;
    num3 = 1;
    goto Label_0002;
Label_0057:
    values.Add(str2, str3);
    num++;
    num3 = 3;
    goto Label_0002;
Label_00E5:
    num3 = 2;
    goto Label_0002;
}
Run Code Online (Sandbox Code Playgroud)

更新:我确实找到了这个......"有时,不常见,当Reflector为您拆解源代码时,它会显示"此项目已被混淆且无法翻译而不是代码."

对我来说这意味着它用评论掩盖了混淆代码.任何人都可以验证吗?我确实看过IL,看起来它显示了一切,所以也许这个说法不准确.

对我来说,这段代码看起来像是一个5岁的人,他对BASIC的知识与一些混淆软件相比有些混淆.

Mik*_*keP 2

无论它多么令人困惑,您应该始终能够反编译为 IL,这样您就可以查看它并查看 Reflector 是否实际上向您显示了所有内容。