Что нового в dotPeek

На этой странице рассказывается о свежих обновлениях и изменениях в dotPeek.

Новое специальное окно Assembly Diff

Расширенная поддержка C# 13 и улучшение читаемости 2025.1

Версия 2025.1 включает несколько улучшений декомпилятора, расширяя поддержку новейших функций C# и повышая читаемость кода. Вот что нового:

  • Поддержка членов с модификатором required.
  • Добавлена поддержка нового типа System.Threading.Lock, представленного в C# 13.
  • Поддержка полей с модификатором ref и параметров с модификатором scoped.
  • Поддержка анти-ограничения allows ref struct для обобщенных типов.
  • Поддержка using на основе шаблонов для типов ref struct.
  • Поддержка интерполяции строк.
  • Некоторые целочисленные константы в декомпилированном коде теперь сопровождаются комментариями с их шестнадцатеричным значением — для лучшей читаемости.
  • Поддержка пространств имен, ограниченных файлом.
Новое специальное окно Assembly Diff

Код IL для манифеста сборки 2024.3

Теперь в окне IL Viewer показывается код IL манифеста сборки, в том числе:

  • информация о сборке и модуле — имя, пользовательские атрибуты и т. п.;
  • сборки и модули, на которые имеются ссылки;
  • перенаправляемые типы;
  • список файлов и ресурсов.

Этот код IL отображается, когда курсор в текстовом редакторе наведен на атрибут сборки или модуля или находится где-то в пределах файла <AssemblyName>.cs (для внешних сборок).

Поддержка первичных конструкторов 2024.3

При работе с классами, объявляющими первичный конструктор, новая версия dotPeek правильно отображает сам конструктор и его параметры, так что вы получаете полное представление об экземплярах объектов прямо из декомпилированного кода.

Melhorias gerais 2024.2

  • Параметры лямбда-выражений: мы добавили поддержку декомпиляции лямбда-выражений с опциональными параметрами и массивами параметров, улучшив читаемость и точность декомпилированного кода.
  • Атрибуты лямбда-выражений: новая версия инструмента лучше обрабатывает атрибуты лямбда-выражений, так что все нужные метаданные будут точно переданы в результате декомпиляции.
  • Защищенные сборки: мы добавили функцию, которая позволяет указать, нужно ли декомпилировать защищенные сборки. В результате исследование кода становится более полным.

Обработка внешних источников 2024.2

  • PDB с SrcSrv и SourceLink: теперь декомпилятор поддерживает переход к источникам из файлов PDB, содержащих как SrcSrv, так и SourceLink.
  • Директивы препроцессора: в этой версии декомпилятор правильно распознает директивы препроцессора (например NET6_0_OR_GREATER) из целевого фреймворка или файлов Portable PDB связанной сборки, что обеспечивает точное представление кода.
  • Действие Open in Browser: теперь вы можете перейти к исходному коду в репозитории (для типов) или к репозиторию (для пакетов NuGet и скомпилированных сборок).

Обнаружение конфигураций сборки 2024.2

Окно Assembly Explorer теперь распознает и представляет конфигурацию сборки для скомпилированных сборок, позволяя точнее проанализировать контекст компиляции.

Новое специальное окно Assembly Diff

Новое специальное окно Assembly Diff 2024.1

В версии dotPeek 2024.1 появилось новое окно Assembly Diff. В связи с этим внесены два изменения:

  • Сравнение сборок, пакетов NuGet, папок и архивов .zip перенесено из Assembly Explorer в окно Assembly Diff.
  • Селектор Diff mode и кнопки Compare и Diff Options перенесены на панель Actions в окне Assembly Diff.
Поддержка формата пакетов WebCIL

Поддержка формата пакетов WebCIL 2024.1

Новая версия dotPeek поддерживает формат пакетов WebCIL для WebAssemblies. Поддержка включает в себя:

  • декомпиляцию WebCIL;
  • возможность просмотра файлов .wasm в Assembly Explorer;
  • поддеревья метаданных для узлов WASM в Assembly Explorer, включая заголовки WASM и WebCIL.
Больше возможностей C# 11

Улучшенное сравнение сборок 2023.3

dotPeek 2023.3 позволяет сравнивать пакеты NuGet, папки и файлы .zip.

У функции сравнения сборок теперь больше вариантов настройки. Вы можете выбрать один из предлагаемых режимов сравнения (Show all, Show only differences, Show only signature differences, Show only public API differences). Можно также указать, следует ли при сравнении учитывать разницу в порядке членов и атрибутов, а также различия в аннотациях ссылочных типов, допускающих значение null.

Больше возможностей C# 11

Assembly Explorer обновляет 2023.3

  • Теперь при просмотре пакетов NuGet в Assembly Explorer вы сможете увидеть все файлы и папки внутри пакетов.
  • Узлы ресурсов Win32, включая размер и тип (если последние определяются), теперь можно посмотреть в дереве представления узлов и на панели Properties.

Другие улучшения 2023.3

  • Добавлена возможность декодирования ресурсов Win32 типа «таблица строк».
  • Новая версия dotPeek отображает размер открытых файлов в панели Properties для сборок/не сборок, файлов внутри пакетов, архивов, пакетов NuGet, сравниваемых сборок и ресурсов Win32.
  • Доступна проверка сигнатуры сборки Authenticode.
  • Явные директивы #nullable disable отображаются в декомпилированных источниках.
Больше возможностей C# 11

Сравнение сборок 2023.2

dotPeek 2023.2 дает возможность подробно сравнить две сборки. Эта функция особенно удобна при изучении различий между двумя версиями конкретной сборки и поиске уязвимостей, которые могли появиться в более новой версии.

Подробнее

Окно IL Viewer 2023.1

В версии dotPeek 2023.1 добавлены следующие улучшения окна IL Viewer:

  • имена локальных переменных теперь используются и для низкоуровневого, и для высокоуровневого кода на C#, а имена элементов кортежей переменных — для высокоуровневого кода на C#, как в исходнике;
  • комментированные имена элементов кортежей из PDB/декомпилятора отображаются для локальных переменных в коде Intermediate Language (IL);
  • улучшена синхронизация инициализаторов полей и свойств, выражений внутри итераторов, методов async, лямбда-выражений, локальных функций, а также объявлений локальных функций и вложенных локальных функций для высокоуровневого C#.