Что нового в dotPeek

This page details the latest updates and changes in dotPeek.

Скачать dotPeek

Бесплатный продукт, лицензионный ключ не требуется

Новое специальное окно 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 updates 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#.
Больше возможностей C# 11

Новые возможности C# 2022.3

dotPeek 2022.3 поддерживает:

  • члены static abstract и static virtual в интерфейсах;
  • общие атрибуты;
  • пользовательские операторы checked;
  • оператор беззнакового сдвига вправо.
Высокоуровневый и низкоуровневый код на C# в IL Viewer

Высокоуровневый и низкоуровневый код на C# в IL Viewer 2022.2

Просматривать декомпилированный высокоуровневый и низкоуровневый код на C# теперь можно в окне IL Viewer. При этом декомпилированный код будет синхронизироваться с исходным кодом в редакторе.

Поддержка сборок ReadyToRun и NGen в Assembly Explorer

Сборки ReadyToRun и NGen в Assembly Explorer 2022.2

  • Мы улучшили представление сборок ReadyToRun (R2R) и NGen в Assembly Explorer: Теперь рядом с именем каждой сборки отображается значок процессора и метка ngen либо R2R.
  • В дереве Metadata появился заголовок ReadyToRun.
  • В окне Properties теперь также есть раздел ReadyToRun.
Быстрый предпросмотр файлов

Вкладка Preview 2022.1

Теперь вы можете просматривать файлы в специальной вкладке Preview, как в Visual Studio. Это удобно, когда вы ищете что-то определенное и не хотите открывать все файлы в отдельных вкладках.

Если вам нужно оставить файл открытым в отдельной вкладке, на вкладке Preview нажмите Keep open. Если вы не хотите пользоваться вкладкой Preview, перейдите в Tools | Options | Tabs и выберите Allow new files to be opened in the preview tab.

Панель Quick Find в текстовом редакторе

Панель Quick Find в текстовом редакторе 2022.1

Мы перенесли быстрый поиск из отдельного окна во вкладку в редакторе. Теперь, если вы вызовете Quick Find (Ctrl+F) для файла, открытого в текстовом редакторе, панель Quick Find появится в этой же вкладке.

При поиске через панель Quick Find используйте сочетания клавиш F3 и Shift+F3 для быстрого перехода между результатами.

Документирующие комментарии XML

XML-документация 2022.1

Теперь dotPeek показывает документирующие комментарии XML для сборок платформы, даже если имена этих сборок отличаются от имен файлов XML-документации (например, System.Private.CoreLib). Путь к XML-документации указывается в шапке декомпилированного файла.

Обновление Assembly Explorer 2022.1

Assembly Explorer теперь поддерживает перенаправляемые типы (атрибуты TypeForwardedTo), а действие Locate in Metadata работает для ресурсов, перенаправляемых типов и ссылок на сборки и модули.

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

  • Мы отключили перенаправление навигации в представлении Metadata.
  • Среди свойств blob-объектов появилось декодированное/RAW-отображение.
  • Мы улучшили навигацию PDB для типов без точек следования, таких как интерфейсы или перечисления.
Поддержка однофайловых приложений

Поддержка типов record и record struct 2021.3

dotPeek обеспечивает базовую поддержку типов record и record struct. Для типов struct, record и record struct поддерживается выражение with.

Также новая версия поддерживает асинхронные методы dispose (await using).

Расширенная поддержка однофайловых приложений

Расширенная поддержка однофайловых приложений 2021.3

Мы продолжили улучшать поддержку чтения и декомпиляции однофайловых приложений:

  • Теперь вы можете просматривать содержимое файлов сборки (например файл .runtimeconfig.json).
  • Нажмите на корневой узел в Assembly Explorer, чтобы просмотреть список всех файлов приложения, а также технические детали (версию формата заголовочного файла и ID).
  • Действие Extract Bundle Content to Folder, доступное в контекстном меню, позволяет извлечь все файлы в папку. Также вы можете извлечь из пакета определенный файл, используя действие Extract to File (также доступно в контекстном меню).
Поддержка однофайловых приложений

Поддержка однофайловых приложений 2021.2

Мы научили dotPeek декомпилировать однофайловые приложения. Их сборки теперь можно просматривать точно так же, как сборки обычных приложений. Поддерживаются форматы однофайловых приложений, используемые в SDK .NET Core 3.1, .NET 5 и будущем .NET 6.

Управление вкладками

Управление вкладками 2021.1

Теперь вы можете закреплять вкладки, если работаете с несколькими одновременно. Цвет вкладки обозначает тип кода, который вы в ней увидите: зеленый — для представления метаданных, коричневый — для источников из файлов символов. Закрепление и окрашивание вкладок можно отключить в разделе Tools | Options | Environment | Tabs.

Стили кода и форматирование

Стили кода и форматирование 2021.1

Мы обновили инструмент форматирования для декомпилированного кода — теперь он включает ряд опций для настройки отображения кода. Теперь вы можете выбрать стиль и размер отступов, настроить перенос открывающей скобки на новую строку, указать, что вы хотите использовать члены, тело которых представляет собой одно выражение. Эти настройки можно найти в разделе Tools | Options | Decompiler | Code style and formatting.

Скачать dotPeek

Бесплатный продукт, лицензионный ключ не требуется