Ainsi, dans le code ci-dessous, vous remarquerez le commentaire "// Cet objet est obfusqué et ne peut être traduit". Ce que je me demande, est-ce que cela signifie que le commentaire est là à la place d'un code obfusqué et que ce qui suit n'est pas réellement obscurci ou cela signifie-t-il que le code suivant est obfusqué? D'après ce que je peux trouver sur le web, cela ressemble à l'ancien mais je ne suis pas sûr. Le code semble clairement obscur mais il n'est pas intraduisible, juste hilarant.Réflecteur: Est-ce que le commentaire dans ce code signifie que tout est obscurci?
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;
}
Mise à jour: Je ne trouve cela ... « Parfois, pas trop souvent, lorsque réflecteur est DEMONTAGE code source pour vous, il affichera « Cet article est obscurcie et ne peut pas être traduit » au lieu de code."
Ce qui pour moi implique qu'il recouvre le code obscurci avec le commentaire. Quelqu'un peut-il vérifier cela? J'ai regardé l'IL et il semble que tout montre, alors peut-être que cette affirmation n'est pas exacte.
Pour moi, ce code a l'air d'avoir été obscurci par un enfant de 5 ans avec une connaissance de BASIC, par opposition à un logiciel d'obfuscation.
J'aime le cas 3 ci-dessus. –
Il convient de noter que le cas 3 est également la façon dont les générateurs de nombres aléatoires fonctionnent. – Woot4Moo