dnSpyEx
dnSpyEx é uma continuação não oficial do projeto dnSpy, que é um depurador e editor de assemblies .NET. Você pode usá-lo para editar e depurar assemblies mesmo sem ter o código-fonte disponível. Principais recursos:
- Depurar assemblies .NET e Unity
- Editar assemblies .NET e Unity
- Temas claro e escuro
Veja abaixo mais recursos


Binários
Última versão estável: https://github.com/dnSpyEx/dnSpy/releases
Se você gosta de viver no limite, pode usar as versões "beta" mais recentes de:

Compilação
git clone --recursive https://github.com/dnSpyEx/dnSpy.git
cd dnSpy
# or dotnet build
./build.ps1 -NoMsbuild
Para depurar jogos Unity, você também precisa deste repositório: https://github.com/dnSpyEx/dnSpy-Unity-mono
Depurador
- Depure assemblies .NET Framework, .NET e jogos Unity, sem necessidade de código-fonte
- Defina pontos de interrupção e execute passo a passo em qualquer assembly
- Janelas de locais, inspeção e automáticos
- As janelas de variáveis suportam salvar variáveis (ex.: matrizes de bytes descriptografadas) em disco ou visualizá-las no editor hexadecimal (janela de memória)
- IDs de objeto
- Vários processos podem ser depurados ao mesmo tempo
- Interromper no carregamento de módulo
- Pontos de rastreamento e pontos de interrupção condicionais
- Exportar/importar pontos de interrupção e pontos de rastreamento
- Filtros opcionais de execução passo a passo "Just My Code" (JMC) para bibliotecas do sistema
- Janelas de pilha de chamadas, threads, módulos e processos
- Interromper em exceções lançadas (1ª chance)
- As janelas de variáveis suportam avaliar expressões C# / Visual Basic
- Módulos dinâmicos podem ser depurados (mas não métodos dinâmicos, devido a limitações da CLR)
- A janela de saída registra vários eventos de depuração e mostra carimbos de data/hora por padrão :)
- Assemblies que se descriptografam em tempo de execução podem ser depurados; o dnSpy usará a imagem em memória. Você também pode forçar o dnSpy a sempre usar imagens em memória em vez de arquivos em disco.
- Contornos para técnicas comuns de detecção de depurador
- API pública: você pode escrever uma extensão ou usar a janela C# Interactive para controlar o depurador
Editor de Assemblies
- Todos os metadados podem ser editados
- Edite métodos e classes em C# ou Visual Basic com IntelliSense, sem necessidade de código-fonte
- Adicione novos métodos, classes ou membros em C# ou Visual Basic
- Editor de IL para edição de corpo de métodos IL de baixo nível
- Tabelas de metadados de baixo nível podem ser editadas. Isso usa o editor hexadecimal internamente.
Editor Hex
- Clique em um endereço no código descompilado para ir ao seu código IL no editor hex
- O inverso do item acima: pressione F12 em um corpo IL no editor hex para ir ao código descompilado ou a outra representação de alto nível dos bits. É ótimo para descobrir qual instrução um patch modificou.
- Destaca estruturas de metadados .NET e estruturas PE
- Dicas de ferramenta mostram mais informações sobre o campo de metadados .NET / PE selecionado
- Ir para posição, arquivo, RVA
- Ir para token de metadados .NET, corpo de método, deslocamento do heap #Blob / #Strings / #US ou índice do heap #GUID
- Seguir referências (Ctrl+F12)
Outros
- Descompilador e desmontador BAML
- Temas azul, claro e escuro (e um tema escuro de alto contraste)
- Marcadores
- A janela C# Interactive pode ser usada para criar scripts no dnSpy
- Pesquisar assemblies por classes, métodos, strings, etc.
- Analisar o uso de classes e métodos, encontrar chamadores, etc.
- Várias guias e grupos de guias
- Referências são destacadas; use Tab / Shift+Tab para ir para a próxima referência
- Comandos "Ir para o ponto de entrada" e "Ir para o inicializador de módulo"
- Comandos "Ir para token de metadados" ou "Ir para linha de metadados"
- Dicas de código (C# e Visual Basic)
- Exportar para projeto
Lista de outras bibliotecas de código aberto usadas pelo dnSpy
- Mecanismo de descompilação ILSpy (descompiladores C# e Visual Basic)
- Roslyn (compiladores C# e Visual Basic)
- dnlib (leitor/gravador de metadados .NET que também pode ler assemblies ofuscados)
- VS MEF (MEF mais rápido equivale a inicialização mais rápida)
- ClrMD (Acesso a informações de depuração de nível mais baixo não fornecidas pela API CorDebug)
- Iced (desmontador x86/x64)
- Newtonsoft.Json (serializador e desserializador JSON)
- NuGet.Configuration (leitor de arquivos de configuração do NuGet)
Traduzindo o dnSpy
Clique aqui se quiser ajudar a traduzir o dnSpy para o seu idioma nativo.
Wiki
Consulte a Wiki para instruções de compilação e outra documentação.
Licença
O dnSpy é licenciado sob GPLv3.