veo poco control.
Con
.NET Reflector (+ el plugin
Reflexil) incluso puedes seleccionar una parte específica del byte-code, una clase entera por poner un ejemplo y representarlo en instrucciones/lineas de código de VB.net o C# (lenguaje a elección del usuario) y puedes
modificar directamente dichas lineas de código de C#/VB.NET como si se tratase de una IDE de .NET (literalmente hablando), y luego compilar los cambios. ¡Si eso no es control, entonces no sé yo que será!.
Sinceramente no sé a que te refieres por el acónimo "bps", pero
.NET Reflector / la tecnología
reflection de Microsoft '
is the way to go' a la hora de trastear con ensamblados .NET.
Una alternativa a
.NET Reflector es
SAE (
Simple Assembly Explorer) pero se le queda muy limitado en comparación, y es un proyecto descontinuado. Otras
pseudo-alternativas serían
ILSpy, o
Telerik JustDecompile...aunque esté último está enfocado a otros propósitos, pero te puede servir para representaciones puntuales del código.
Otras herramientas útiles:
AsmSpy Para determinar las dependencias administradas de un ensamblado .NET (está enfocado a .NET y eso lo hace bastante más "directo" o sencillo, amistoso e intuitivo que el archiconocido
Dependency Walker)
Blade API MonitorPuedes monitorizar las llamadas a la API de Windows que haga un ensamblado .NET o de las funciones exportadas en cualquier dependencia dll de la aplicación en cuestión.
de4dot Un desofuscador y desempacador para ensamblados .NET, el cual soporta muchas protecciones comerciales conocidas (ej.
SmartAssembly,
Crypto Obfuscator for .NET ,
.NET Reactor, etc).
Microsoft UI Tools (
UI Accessibility Checker,
UI Automation Event Watcher,
UI Automation Scope,
UI Automation Verify y
UI Inspect)
Para analizar la jerarquia de ventanas de un ensamblado .NET, analizar la accesibilidad de algunos miembros y controles, y otros análisis relacionados con el framework de
Windows UI Automation.
Esto kit de herramientas lo puedes encontrar en la SDK de Microsoft Windows correspondiente a la versión de Windows que tengas instalada.
Nektra's SpyStudioSpyStudio shows and interprets calls, displaying the results in a structured way. SpyStudio can show registry keys and files that an application uses, COM objects and Windows the application has created, and errors and exceptions.SpyStudio can troubleshoot .NET applications: it logs exceptions, assembly loads, object creation and much more.
Esta aplicación la he usado para virtualizar ensamblados .NET, pero como la descripción indica, puede servir para otro tipo de tareas relacionadas con la ing. inversa, con la monitorización de una app en general (y para análisis de profilling también)
Resource .NETPara modificar recursos embedidos en un ensamblado .NET
Rohitab's API MonitorPuedes monitorizar las llamadas a la API de Windows que haga un ensamblado .NET o de las funciones exportadas en cualquier dependencia dll de la aplicación en cuestión,
y lo mejor de todo es que con esta herramienta también puedes efectuar
API hooking sobre cualquier API, y generar fake dlls.
StrongName RemoverComo su propio nombre indica, sirve para eliminar las firmas de nombres seguros en enamblados .NET (y así permitir la posterior edición del ensamblado).
XAML SpyUn
inspector de la jerarquía de ventanas para aplicaciones .NET con la que podemos representar y explorar el árbol de ventanas / controles con multitud de información (lo de "XAML" es simplemente por que esta app ha sido desarrollada en WPF, eso no tiene nada que ver con su funcionalidad, funciona con todo tipo de executables .NET)
WinSpy++Lo mismo que
XAML Spy y
Microsoft UI Inspect, simplemente como alternativa liviana. Es un proyecto descontinuado pero va bien para la mayoría de cosas puntuales.
Zeta Resource Editor Para editar los recursos de texto/string en un ensamblado .NET
Saludos.