Gapotchenko.Eazfuscator.NET.SDK
2021.4.263
Prefix Reserved
Install-Package Gapotchenko.Eazfuscator.NET.SDK -Version 2021.4.263
dotnet add package Gapotchenko.Eazfuscator.NET.SDK --version 2021.4.263
<PackageReference Include="Gapotchenko.Eazfuscator.NET.SDK" Version="2021.4.263" />
paket add Gapotchenko.Eazfuscator.NET.SDK --version 2021.4.263
#r "nuget: Gapotchenko.Eazfuscator.NET.SDK, 2021.4.263"
// Install Gapotchenko.Eazfuscator.NET.SDK as a Cake Addin
#addin nuget:?package=Gapotchenko.Eazfuscator.NET.SDK&version=2021.4.263
// Install Gapotchenko.Eazfuscator.NET.SDK as a Cake Tool
#tool nuget:?package=Gapotchenko.Eazfuscator.NET.SDK&version=2021.4.263
Overview
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");
Console.WriteLine(stackTrace);
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 | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net20 net35 net40 net403 net45 net451 net452 net46 net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETFramework 2.0
- No dependencies.
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 2.0
- No dependencies.
-
net5.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 |
---|---|---|
2021.4.263 | 159 | 1/26/2022 |
2021.2.292 | 202 | 8/26/2021 |
2021.2.284 | 228 | 7/17/2021 |
2021.1.549 | 180 | 5/17/2021 |