Glass.NET frente a ILSpy, dnSpy y dotPeek: un decompilador que navegas
Un análisis función por función de Glass.NET frente a ILSpy, dnSpy, dotPeek y .NET Reflector — el mismo motor de decompilación probado, pero un flujo de trabajo centrado en la navegación, una vista completa de información del ensamblado, exportación de proyectos y un informe de exposición. Gratuito, y en desarrollo activo.
Cuando abres un ensamblado de .NET que no te es familiar, la mayoría de los decompiladores te muestran código y te dejan a solas para desplazarte. Construimos Glass.NET en torno a una idea distinta: leer el ensamblado de otra persona debería sentirse como leer tu propio código fuente — lo navegas. Aquí tienes cómo se compara con las herramientas que probablemente usas hoy.
Mismo motor, experiencia distinta
Primero, la parte honesta: Glass.NET está construido sobre ICSharpCode.Decompiler, el mismo motor que impulsa ILSpy. Así que la precisión del C# que produce está a la par de ILSpy — y de dnSpy, que usa el mismo motor. Esto no es un argumento de “nuestra decompilación es más lista”. El C# es excelente porque el motor es excelente, y no fingimos lo contrario.
La diferencia está en todo lo que rodea al código — el flujo de trabajo de leer de verdad un ensamblado grande y desconocido.
Lo que añade Glass
- Ir a la definición (F12) — además de Ctrl+clic y doble clic — sobre cualquier símbolo. Las referencias se resuelven a partir del propio árbol sintáctico del decompilador, así que aterrizas en el símbolo correcto, no en una coincidencia de texto.
- Buscar todas las referencias (Shift+F12) transmitidas a un panel de Resultados de búsqueda.
- Ir a todo (Ctrl+T) — apertura rápida difusa a través de cada tipo y miembro del ensamblado.
- Jerarquía de llamadas y de tipos — recorre llamadores/llamados y tipos base/derivados.
- Historial de navegación y una ruta espacio de nombres ▸ tipo ▸ miembro, para que siempre sepas dónde estás y puedas retroceder.
- Vista de información del ensamblado — selecciona un ensamblado y ve su identidad completa (nombre, versión, cultura, token de clave pública, estado de nombre seguro), rasgos de PE/runtime (framework de destino, arquitectura, formato PE), los atributos de producto (empresa, copyright, versión informativa…), ensamblados referenciados, recursos incrustados y estadísticas de metadatos — todo en un solo lugar.
- Vistas de C# e IL, plegado de código, y temas oscuro y claro a juego.
- Exportación a un proyecto compilable (en la aplicación o mediante la CLI
glass export), comparación de ensamblados con diff línea a línea, y un informe de exposición que resume lo que un ensamblado dado revela. - Velocidad real — la carga perezosa y la decompilación fuera del hilo principal lo mantienen receptivo en ensamblados con miles de tipos.
Y es estrictamente análisis estático — Glass lee los metadatos y el IL y reconstruye C#; nunca ejecuta el ensamblado que inspecciona.
Cómo se compara
| Glass.NET | ILSpy | dnSpy | dotPeek | .NET Reflector | |
|---|---|---|---|---|---|
| Precio | Gratuito | Gratuito | Gratuito | Gratuito | De pago |
| Motor | ICSharpCode.Decompiler | ICSharpCode.Decompiler | ICSharpCode.Decompiler | JetBrains | Propio |
| Ir a la definición / Buscar referencias | ✓ | ✓ | ✓ | ✓ | ✓ |
| Ir a todo (difuso) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Jerarquía de llamadas / tipos | ✓ | Parcial | ✓ | ✓ | ✓ |
| Vista de información del ensamblado | ✓ | Parcial | Parcial | Parcial | Parcial |
| Exportar a proyecto compilable | ✓ | ✓ | ✓ | ✓ | ✓ |
| Comparar ensamblados + diff línea a línea | ✓ | — | — | — | — |
| Informe de exposición | ✓ | — | — | — | — |
| Depuración / edición en vivo | — | — | ✓ | — | — |
| En desarrollo activo | ✓ | ✓ | Bifurcación comunitaria | ✓ | ✓ |
Una palabra justa sobre los demás: dnSpy sigue siendo insuperable para la depuración y edición en vivo de un binario administrado — ese es un trabajo distinto al de leerlo, y si lo necesitas, recurre a dnSpy (el original está archivado; la comunidad lo continúa mediante dnSpyEx). dotPeek es un lector gratuito sólido de JetBrains, e ILSpy es el excelente proyecto de código abierto sobre cuyo motor construimos. Glass no intenta reemplazar al depurador; intenta ser la mejor herramienta para leer y entender un ensamblado — rápido.
Dónde encaja Glass
Glass.NET es una herramienta de desarrollador para trabajo legítimo: inspeccionar y depurar tus propios binarios, entender una dependencia de la que dependes, comprobar lo que un ofuscador realmente produjo, interoperabilidad, revisión de seguridad, y recuperar tu propio código fuente perdido. (Úsalo solo sobre software que tengas derecho a analizar.)
Esa última — comprobar lo que produjo un ofuscador — es la razón por la que Glass y Nebula.NET encajan bien juntos. Protege una compilación con Nebula, ábrela en Glass, y comprueba por ti mismo que los nombres han desaparecido, el flujo de control está aplanado, y los métodos virtualizados son solo una llamada a la VM. El informe de exposición convierte eso en una comprobación de un clic.
Gratuito, para siempre
Glass.NET es completamente gratuito — sin licencia, sin puestos, sin registro. Consigue la última compilación en la página de descargas, abre un ensamblado, y pulsa F12.
¿Has encontrado un error o tienes una petición de función? Dínoslo — lo estamos construyendo activamente.
Prueba Nebula.NET
Endurece tu código .NET en minutos — empieza con la edición gratuita.