У меня есть доступ к старой системе управления для моего клиента, и он хочет добавить к ней больше. Мне удалось связаться с парнем, который первоначально написал основные библиотеки DLL, а затем я получил контроль и начал строить вокруг них. Но теперь мне нужно расширить оригинал, и у меня нет выбора, кроме как перепроектировать.
Я пробовал Reflector Pro и JustDecompile, но полученный источник был полон ошибок. ILSpy работает хорошо, но все же, вот пример кода, который я получаю от ILSpy:
private static object ParseIntoValue(string stringValue, string targetType)
{
if (targetType != null)
{
if (<PrivateImplementationDetails>{C6507306-5ECF-4D05-8EE4-BD4D7781AC4E}.$$method0x600080f-1 == null)
{
<PrivateImplementationDetails>{C6507306-5ECF-4D05-8EE4-BD4D7781AC4E}.$$method0x600080f-1 = new Dictionary<string, int>(12)
{
...
};
}
int num;
if (<PrivateImplementationDetails>{C6507306-5ECF-4D05-8EE4-BD4D7781AC4E}.$$method0x600080f-1.TryGetValue(targetType, out num))
{
object result;
switch (num)
{
cases are here...
default:
goto IL_2A6;
}
return result;
}
}
IL_2A6:
return null;
}
Совершенно очевидно, что здесь применяется некоторая форма запутывания. Обращенный код от JustDecompile и Reflector Pro был совершенно бесполезен. С помощью ILSpy я могу скомпилировать несколько проектов без каких-либо изменений.
Мне нужна помощь, чтобы определить это запутывание (если это так). Оригинальный разработчик говорит, что он не запутывал. Я не уверен в этом.
Спасибо.