dnSpyEx
dnSpyEx es una continuación no oficial del proyecto dnSpy que es un depurador y editor de ensamblados .NET. Puedes usarlo para editar y depurar ensamblados incluso si no tienes código fuente disponible. Principales características:
- Depurar ensamblados .NET y Unity
- Editar ensamblados .NET y Unity
- Temas claro y oscuro
Vea más características a continuación


Binarios
Última versión estable: https://github.com/dnSpyEx/dnSpy/releases
Si te gusta vivir al límite, puedes usar las últimas compilaciones "beta" desde:

Compilación
git clone --recursive https://github.com/dnSpyEx/dnSpy.git
cd dnSpy
# or dotnet build
./build.ps1 -NoMsbuild
Para depurar juegos de Unity, también necesitas este repositorio: https://github.com/dnSpyEx/dnSpy-Unity-mono
Depurador
- Depurar ensamblados de juegos .NET Framework, .NET y Unity, sin necesidad de código fuente
- Establecer puntos de interrupción y depurar paso a paso en cualquier ensamblado
- Ventanas de locales, inspección y automáticos
- Las ventanas de variables permiten guardar variables (por ejemplo, arreglos de bytes descifrados) en disco o verlas en el editor hexadecimal (ventana de memoria)
- IDs de objetos
- Se pueden depurar múltiples procesos al mismo tiempo
- Detenerse en la carga del módulo
- Puntos de seguimiento y puntos de interrupción condicionales
- Exportar/importar puntos de interrupción y puntos de seguimiento
- Filtros opcionales de solo mi código (JMC) para bibliotecas del sistema
- Ventanas de pila de llamadas, hilos, módulos y procesos
- Detenerse en excepciones lanzadas (primera oportunidad)
- Las ventanas de variables admiten evaluar expresiones de C# / Visual Basic
- Los módulos dinámicos se pueden depurar (pero no los métodos dinámicos debido a limitaciones de CLR)
- La ventana de salida registra varios eventos de depuración y muestra marcas de tiempo por defecto :)
- Los ensamblados que se descifran en tiempo de ejecución se pueden depurar; dnSpy usará la imagen en memoria. También puedes forzar a dnSpy a usar siempre imágenes en memoria en lugar de archivos en disco.
- Bypasses para técnicas comunes de detección de depuradores
- API pública: puedes escribir una extensión o usar la ventana interactiva de C# para controlar el depurador
Editor de ensamblados
- Todos los metadatos se pueden editar
- Editar métodos y clases en C# o Visual Basic con IntelliSense, sin necesidad de código fuente
- Agregar nuevos métodos, clases o miembros en C# o Visual Basic
- Editor de IL para edición de bajo nivel del cuerpo de métodos IL
- Las tablas de metadatos de bajo nivel se pueden editar. Esto utiliza el editor hexadecimal internamente.
Editor hexadecimal
- Haz clic en una dirección en el código descompilado para ir a su código IL en el editor hexadecimal
- Lo contrario: presiona F12 en un cuerpo IL en el editor hexadecimal para ir al código descompilado u otra representación de alto nivel de los bits. Es excelente para descubrir qué declaración modificó un parche.
- Resalta estructuras de metadatos .NET y estructuras PE
- Los tooltips muestran más información sobre el campo de metadatos .NET / PE seleccionado
- Ir a posición, archivo, RVA
- Ir a token de metadatos .NET, cuerpo del método, desplazamiento del montón #Blob / #Strings / #US o índice del montón #GUID
- Seguir referencias (Ctrl+F12)
Otros
- Descompilador y desensamblador BAML
- Temas azul, claro y oscuro (y un tema oscuro de alto contraste)
- Marcadores
- La ventana interactiva de C# se puede usar para hacer scripting en dnSpy
- Buscar ensamblados por clases, métodos, cadenas, etc.
- Analizar uso de clases y métodos, buscar llamadores, etc.
- Múltiples pestañas y grupos de pestañas
- Las referencias se resaltan; usa Tab / Shift+Tab para moverte a la siguiente referencia
- Comandos para ir al punto de entrada e inicializador de módulo
- Comandos para ir a token de metadatos o fila de metadatos
- Tooltips de código (C# y Visual Basic)
- Exportar a proyecto
Lista de otras bibliotecas de código abierto utilizadas por dnSpy
- ILSpy decompiler engine (descompiladores de C# y Visual Basic)
- Roslyn (compiladores de C# y Visual Basic)
- dnlib (lector/escritor de metadatos .NET que también puede leer ensamblados ofuscados)
- VS MEF (MEF más rápido = inicio más rápido)
- ClrMD (Acceso a información de depuración de bajo nivel no proporcionada por la API CorDebug)
- Iced (desensamblador x86/x64)
- Newtonsoft.Json (serializador y deserializador JSON)
- NuGet.Configuration (lector de archivos de configuración de NuGet)
Traducción de dnSpy
Haz clic aquí si quieres ayudar a traducir dnSpy a tu idioma nativo.
Wiki
Consulta la Wiki para instrucciones de compilación y otra documentación.
Licencia
dnSpy está licenciado bajo GPLv3.