- System requirements
- Profiler architecture
- Profiler installation
- Running the profiler
- Profiler activation
- Welcome screen
- Start profiling
- Profiling overhead: how to reduce or avoid
- Solving performance problems
- CPU profiling
- Memory profiling
- Garbage collection
- Exception profiling
- Performance charts
- Probes: monitor higher level events
- Inspections: automatic recognition of typical problems
- Automatically trigger actions on event
- Automatic deobfuscation
- Summary, automatic deobfuscation
- Profiler command line
- Command line tool to control profiling
- Export of profiling results to external formats
- Profiler API
- Profiler HTTP API
What is obfuscation and deobfuscation?
Obfuscation is the process of transforming the original .NET source code into a form that is difficult to read and understand, yet retains its functionality. It involves renaming variables, methods, and classes to non-meaningful identifiers and may also include altering control flow to make it more complex. Obfuscation is used primarily for security reasons, making it hard for malicious actors to reverse-engineer the application.
Deobfuscation is essentially the reverse of obfuscation. It converts the obfuscated code back to a form that is easier to read and understand.
How to configure deobfuscator
Profiling an obfuscated .NET application can be a real challenge. Fortunately, if your application is obfuscated, YourKit .NET Profiler can automatically restore original names of classes, fields, and methods. Deobfuscator can be configured for a specific snapshot, as well as when you are connected to the running application. In this case the deobfuscator will apply to live results and will be chosen by default for captured snapshots.
To configure deobfuscator, please visit Summary tab and click Configure deobfuscator... hyperlink. You will need to specify deobfuscator type and the path to the obfuscation log:
Supported .NET obfuscators
YourKit .NET Profiler supports the following obfuscators: