Как я могу декомпилировать код IL .NET Framework - PullRequest
3 голосов
/ 21 сентября 2019

Я хочу исследовать код IL большинства классов библиотеки .net framework.Является ли это возможным?Я пытаюсь декомпилировать некоторые DLL (например, System.Treading), и я вижу только сигнатуру функций.Тогда я иду к mscorlib.dll и вижу только манифест.Есть способ увидеть реальный код?

Ответы [ 3 ]

3 голосов
/ 21 сентября 2019

Если вы хотите изучить реализацию классов .Net.Я предлагаю вам использовать ссылочный код, предоставленный Microsoft.

Основным преимуществом использования ссылочного кода является то, что вы можете видеть комментарии и другие элементы, которые не будут добавлены в IL (например, #define).

Справочный источник

Чтобы изучить влияние некоторых конструкций C # на сгенерированный IL, я бы предложил использовать SharpLib.

SharpLib

1 голос
/ 22 сентября 2019

Personnaly для декомпиляции кода IL Я использую ILspy, это легкий инструмент и простой в использовании.

вы можете найти его по ссылке ниже:

https://sourceforge.net/projects/ilspyportable/

С наилучшими пожеланиями.

1 голос
/ 21 сентября 2019

Вы можете использовать .NET Reflector (коммерческий, но очень хороший):

https://www.red -gate.com / products / dotnet-development / отражатель /

С его помощью можно открыть сборку .net (.exe или .dll).

Таким образом, вы также можете напрямую просматривать сборки .NET Framework, выбрав версию платформы.

Выберите представление IL или другоеязык, такой как C # или код VB, и все готово.

Существует также, например, этот бесплатный инструмент (медленный, очень медленный):

https://www.jetbrains.com/decompiler/

...