O que há de novo no dotPeek

This page details the latest updates and changes in dotPeek.

Baixar dotPeek

Gratuito, sem chave de licença necessária

Uma nova janela de ferramentas dedicada ao diff de assemblies

Código em linguagem intermediária para o manifesto de assembly 2024.3

Agora a janela de ferramentas IL Viewer fornece o código em linguagem intermediária para o manifesto de assembly, incluindo:

  • Dados do assembly e do módulo, como o nome, atributos personalizados, etc.
  • Assemblies e módulos referenciados.
  • Tipos encaminhados.
  • Uma lista de arquivos e recursos.

Esse código em linguagem intermediária é mostrado quando o cursor estiver em um atributo de assembly ou módulo no editor de textos, ou em algum lugar de um arquivo <AssemblyName>.cs, no caso de assemblies externos.

Suporte a construtores primários 2024.3

Ao trabalhar com classes que declaram um construtor primário, agora o dotPeek mostra corretamente o construtor e seus parâmetros, dando a você uma visão completa de como são instanciados os objetos, diretamente a partir do código descompilado.

Melhorias gerais 2024.2

  • Parâmetros lambda: Introduzimos o suporte à descompilação de lambdas com parâmetros opcionais e arrays de parâmetros, melhorando a legibilidade e a precisão do código descompilado.
  • Atributos em lambdas: Agora a ferramenta oferece um melhor tratamento dos atributos de expressões lambda, para garantir que todos os metadados relevantes sejam precisamente refletidos na saída descompilada.
  • Assemblies protegidas: Introduzimos a capacidade de especificar se você deseja descompilar assemblies protegidas, permitindo uma exploração mais abrangente do código.

Tratamento de fontes externas 2024.2

  • PDB com SrcSrv e SourceLink: Agora o descompilador tem suporte à navegação até o código-fonte a partir de arquivos PDB contendo tanto SrcSrv quanto SourceLink.
  • Diretivas de pré-processador: Agora o descompilador reconhece corretamente diretivas de pré-processador (como NET6_0_OR_GREATER) do framework-alvo ou do Portable PDB da assembly associada, garantindo uma representação precisa do código.
  • Ação Open in Browser: Agora você pode navegar até o código-fonte no repositório, no caso de tipos, ou até um repositório, no caso de pacotes do NuGet ou de assemblies.

Detecção da configuração de build 2024.2

Agora a janela de ferramentas Assembly Explorer detecta e apresenta a configuração de build das assemblies, fornecendo insights mais claros do contexto de compilação da assembly.

Uma nova janela de ferramentas dedicada ao diff de assemblies

Nova janela de ferramentas dedicada Assembly Diff 2024.1

A atualização 2024.1 introduz a nova janela de ferramentas Assembly Diff no dotPeek e Ela traz consigo algumas mudanças:

  • A função de comparação de assemblies, pacotes do NuGet, pastas e arquivos .zip foi movida do Assembly Explorer para a janela de ferramentas Assembly Diff.
  • O seletor Diff mode e os botões Compare e Diff Options foram deslocados para a barra Actions da janela de ferramentas Assembly Diff.
Suporte ao formato de empacotamento WebCIL

Suporte ao formato de empacotamento WebCIL 2024.1

Agora o dotPeek tem suporte ao formato de empacotamento WebCIL para WebAssemblies. Esse suporte abrange:

  • Descompilação para WebCIL.
  • A capacidade de visualizar arquivos .wasm no Assembly Explorer.
  • Subárvores de metadados para nós de WASM no Assembly Explorer, incluindo cabeçalhos de WASM e WebCIL.
Mais recursos da linguagem C#

Melhorias no diff de Assembly 2023.3

O dotPeek 2023.3 pode comparar pacotes do NuGet, pastas e arquivos .zip.

Agora o recurso de comparação de assemblies tem mais opções de comparação. Você pode escolher entre diversos modos de diff (Show all, Show only differences, Show only signature differences, Show only public API differences). Além disso, você pode especificar se deseja que o diff ignore diferenças de ordem membro/atributo e diferenças nas anotações em tipos de referências anuláveis.

Mais recursos da linguagem C#

Assembly Explorer updates 2023.3

  • Ao explorar pacotes do NuGet no Assembly Explorer, agora você poderá ver todos os arquivos e pastas contidos nesses pacotes do NuGet.
  • Agora os nós de recursos Win32, incluindo seu tamanho e tipo (se estes puderem ser determinados), podem ser visualizados na árvore de apresentação de nós e no painel Properties.

Outras atualizações 2023.3

  • Acaba de ser introduzida a capacidade de decodificar recursos de tabelas de strings Win32.
  • Agora o dotPeek mostra o tamanho dos arquivos abertos dentro do painel Properties nos casos de assemblies/não assemblies, arquivos dentro de bundles, arquivos comprimidos, pacotes do NuGet, assemblies comparados e recursos Win32.
  • Agora está disponível a validação de assinaturas authenticode de assemblies.
  • Diretivas #nullable disable explícitas são mostradas em fontes descompiladas.
Mais recursos da linguagem C#

Assembly diff 2023.2

O dotPeek 2023.2 oferece uma maneira de comparar duas assemblies em detalhe. Este recurso é especialmente útil ao inspecionar as diferenças entre duas versões de uma assembly específica e procurar por vulnerabilidades em potencial que possam ter sido introduzidas em uma versão mais recente.

Clique aqui para mais informações.

Janela de ferramentas do IL Viewer 2023.1

A versão 2023.1 do dotPeek contém as seguintes melhorias na janela de ferramentas do IL Viewer:

  • Agora, nomes de variáveis locais serão usados em código C#, tanto de baixo nível quanto de alto nível, e nomes de elementos de tuplas de variáveis serão usados em código C# de alto nível, como no código-fonte original.
  • Os nomes comentados dos elementos de tuplas serão obtidos do PDB/descompilador para declarações de variáveis locais em código de linguagem intermediária (IL).
  • A sincronização foi melhorada para inicializadores de campos e propriedades, declarações dentro de iteradores, métodos async, lambdas, funções locais e suas declarações, aninhadas ou não, em C# de alto nível.
Mais recursos da linguagem C#

Mais recursos da linguagem C# 2022.3

O dotPeek 2022.3 vem com suporte para:

  • membros static abstract e static virtual em interfaces.
  • atributos genéricos.
  • operadores checked definidos pelo usuário.
  • operador de deslocamento à direita sem sinal.
Código C# de alto e baixo nível no IL Viewer

Código C# de alto e baixo nível no IL Viewer 2022.2

Agora há uma opção para visualizar código C# descompilado de alto e baixo nível na janela de ferramenta IL Viewer. O código descompilado ainda é sincronizado ao código-fonte no editor.

Suporte às assemblies ReadyToRun e NGen no Assembly Explorer

Assemblies ReadyToRun e NGen no Assembly Explorer 2022.2

  • A maneira como as assemblies ReadyToRun (R2R) e NGen são apresentadas no Assembly Explorer foi aperfeiçoada. Agora, junto ao nome de cada assembly, é mostrado um pequeno ícone com um símbolo de processador e o rótulo ngen or R2R.
  • A árvore Metadata tem o cabeçalho ReadyToRun.
  • A janela Properties tem a seção ReadyToRun.
Guia de visualização

Aba de pré-visualização 2022.1

Introduzimos a capacidade de mostrar arquivos em uma única aba de pré-visualização, como você está acostumado no Visual Studio. Isso ajuda quando você está procurando algo em especial e não quer manter esses arquivos abertos como abas separadas.

Se você quiser manter o arquivo em uma aba separada, clique no ícone Keep open na aba de pré-visualização. Para desativar a aba Preview, vá para Tools | Options | Tabs e selecione Allow new files to be opened in the preview tab.

Painel Quick Find dentro do editor de textos

Painel Quick Find dentro do editor de textos 2022.1

Movemos o recurso Quick Find de uma janela de ferramentas separada para a aba do editor de textos. Agora, quando você chamar o Quick Find (Ctrl+F) para um arquivo, o painel Quick Find aparecerá dentro da aba do editor de textos para aquele arquivo.

Também adicionamos os atalhos F3 e Shift+F3, que permitem que você navegue rapidamente até a próxima ocorrência ou a anterior quando estiver procurando algo usando o painel Quick Find.

Comentários na documentação em XML

Comentários na documentação em XML 2022.1

Agora o dotPeek mostra os comentários da documentação XML em assemblies de plataforma, inclusive em assemblies cujos nomes sejam diferentes daqueles dos arquivos de documentação XML --- por exemplo, System.Private.CoreLib. Agora o caminho para a documentação em XML é mostrado no cabeçalho do arquivo descompilado.

Atualizações no Assembly Explorer 2022.1

Agora o Assembly Explorer tem suporte a tipos encaminhados (os atributos TypeForwardedTo). A ação Locate in Metadata também funciona com tipos encaminhados, com referências a assemblies e módulos, e com recursos.

Outras atualizações 2022.1

  • Desativamos o redirecionamento da navegação na visualização Metadata.
  • Adicionamos apresentações de blobs decodificados ou "raw" nas propriedades dos nós de blobs.
  • Melhoramos a navegação em PDBs para tipos sem pontos de sequência --- por exemplo, interfaces e enums.
Suporte para aplicações de arquivo único

Suporte aos tipos record e record struct 2021.3

O dotPeek oferece suporte inicial aos tipos record e record struct. Também está disponível o suporte à expressão with para records, record structs e outros structs.

Quanto aos outros recursos para C# incluídos nesta versão, o descompilador agora tem suporte a dispose assíncrono (await using).

Suporte ampliado a aplicativos de arquivo único

Suporte ampliado a aplicativos de arquivo único 2021.3

Continuamos a melhorar o nosso suporte à leitura e descompilação de aplicativos de arquivo único:

  • Você pode ver o conteúdo dos arquivos .json incluídos – por exemplo, o arquivo .runtimeconfig.json.
  • Você pode ver uma lista de todos os arquivos embutidos, juntamente com algumas informações técnicas sobre o aplicativo de arquivo único (header format version e ID), clicando no nó-raiz no Assembly Explorer.
  • Você pode extrair todos os arquivos para uma pasta (através da ação Extract Bundle Content to Folder no menu de contexto) ou apenas um arquivo específico do conjunto como arquivo externo (através da ação Extract to File no menu de contexto).
Suporte para aplicações de arquivo único

Suporte para aplicações de arquivo único 2021.2

Agora, o dotPeek pode descompilar aplicativos de arquivo único. Ele também permite a navegação por assemblies inclusos dentro de um aplicativo de arquivo único, como você já está acostumado. Ele oferece suporte a formatos de arquivo único para o .NET Core 3.1, .NET 5 e os próximos SDKs .NET 6.

Gerenciamento de guias

Gerenciamento de guias 2021.1

Ao trabalhar com várias guias ao mesmo tempo, agora você pode fixá-las. Além disso, a cor de uma guia indica o tipo de código que você verá: verde representa uma visualização de metadados e marrom significa origens de arquivos de símbolos. As opções para fixar abas e codificar as cores podem ser desabilitadas em Tools | Options | Environment | Tabs.

Estilos de código e formatação

Estilos de código e formatação 2021.1

Atualizamos o formatador do código descompilado com um conjunto de opções para controlar como o código é apresentado. Agora, você pode definir o estilo e o tamanho do recuo, selecionar se a chave de abertura deve ser colocada em uma nova linha e se prefere usar membros com corpo de expressão. Você pode encontrá-los em Tools | Options | Decompiler | Code style and formatting.

Baixar dotPeek

Gratuito, sem chave de licença necessária