Gapotchenko.Eazfuscator.NET.SDK 2023.3.405

Prefix Reserved
dotnet add package Gapotchenko.Eazfuscator.NET.SDK --version 2023.3.405                
NuGet\Install-Package Gapotchenko.Eazfuscator.NET.SDK -Version 2023.3.405                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Gapotchenko.Eazfuscator.NET.SDK" Version="2023.3.405" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Gapotchenko.Eazfuscator.NET.SDK --version 2023.3.405                
#r "nuget: Gapotchenko.Eazfuscator.NET.SDK, 2023.3.405"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Gapotchenko.Eazfuscator.NET.SDK as a Cake Addin
#addin nuget:?package=Gapotchenko.Eazfuscator.NET.SDK&version=2023.3.405

// Install Gapotchenko.Eazfuscator.NET.SDK as a Cake Tool
#tool nuget:?package=Gapotchenko.Eazfuscator.NET.SDK&version=2023.3.405                


Software Development Kit (SDK) for Eazfuscator.NET provides programmatic access to specific features of the product.

The SDK can be employed for various applications such as logging, diagnostics, data collection, automated error reporting et cetera.

How to Use

Symbol Decoder

Say you have an obfuscated stack trace or a log file, and want to decode it provided that you have a proper secret knowledge (password) at hand. Here is how it can be achieved in code:

using Gapotchenko.Eazfuscator.NET.SDK;

string stackTrace = SymbolDecoder.Decode("<obfuscated stack trace>", "secret-password");

SymbolDecoder.Decode is a static function that covers the most common usage scenario. It is simple but you may need more. For example, stack trace decoding does take some time and you may prefer to use the cancellable variant:

stackTrace = SymbolDecoder.Decode("<obfuscated stack trace>", "secret-password", cancellationToken);

Or if you need to decode a multitude of stacks/files with the same password, the simplest variant of SymbolDecoder.Decode may put you into trouble because it performs key derivation operation each and every time the function is called. And it tends to be relatively slow, as the key derivation function has to be computationally intensive to deter brute-force attacks on a secret.

To overcome that inherent performance bottleneck, symbol decoder can be created beforehand and then reused multiple times with a great efficiency:

using Gapotchenko.Eazfuscator.NET.SDK;

// Create symbol decoder beforehand. The creation operation is on a slower side.
using var decoder = SymbolDecoder.Create("secret-password");

// Reuse the decoder multiple times. Consequent decoding operations are fast.
stackTrace = decoder.Decode("<obfuscated stack trace 1>");  
stackTrace = decoder.Decode("<obfuscated stack trace 2>");  
// ...
stackTrace = decoder.Decode("<obfuscated stack trace N>");
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 is compatible. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net20 is compatible.  net35 was computed.  net40 is compatible.  net403 was computed.  net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETCoreApp 3.1

    • No dependencies.
  • .NETFramework 2.0

    • No dependencies.
  • .NETFramework 4.0

    • No dependencies.
  • .NETFramework 4.5

    • No dependencies.
  • .NETStandard 2.0

    • No dependencies.
  • .NETStandard 2.1

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2023.3.405 640 8/9/2023
2023.2.753 252 5/3/2023
2021.4.263 4,341 1/26/2022
2021.2.292 386 8/26/2021
2021.2.284 423 7/17/2021
2021.1.549 355 5/17/2021