AntiTamper.Net
1.0.0-alpha
dotnet add package AntiTamper.Net --version 1.0.0-alpha
NuGet\Install-Package AntiTamper.Net -Version 1.0.0-alpha
<PackageReference Include="AntiTamper.Net" Version="1.0.0-alpha" />
paket add AntiTamper.Net --version 1.0.0-alpha
#r "nuget: AntiTamper.Net, 1.0.0-alpha"
// Install AntiTamper.Net as a Cake Addin #addin nuget:?package=AntiTamper.Net&version=1.0.0-alpha&prerelease // Install AntiTamper.Net as a Cake Tool #tool nuget:?package=AntiTamper.Net&version=1.0.0-alpha&prerelease
AntiTamper.Net Project
Overview
The AntiTamper.Net
project is designed to ensure the integrity of an application at startup.
App binaries are checked at startup, and if no tampering found, your application launches.
Key Features
- Authenticode Integrity Check: Verifies the authenticity of executables and DLLs by comparing their digital signatures against a specified certificate thumbprint.
- Multiple Trust Levels: Supports different trust levels for certificates:
- Require Full Trust: Only accepts fully trusted certificates.
- Allow Untrusted: Permits the use of untrusted certificates.
- Allow Self-Signed and Untrusted: Supports self-signed certificates as well as untrusted ones.
- Platform-Specific Implementation: While focused on Windows, cross-platform support is planned for the future using a Detached Signature design.
Usage
The primary class ApplicationSecurity
offers methods like AuthenticodeAppIntegrityCheck
for performing integrity checks on your application's binaries. The results provide detailed information on the trustworthiness and integrity of each binary file.
Dependencies
- Microsoft.Security.Extensions: Handles the security extensions required for signature verification.
Example
using System;
using System.IO;
using Krugertech.Security;
class Program
{
static void Main(string[] args)
{
var result = new AntiTamper().AuthenticodeAppIntegrityCheck("CERTIFICATE_THUMBPRINT");
Console.WriteLine(result.Success ? "App integrity good." : $"App integrity bad.\nError: {result.Error}");
// Print info for each app binary checked
foreach (var item in result.Files)
Console.WriteLine($"{Path.GetFileName(item.FileName)} -> value={item.Result.Success} -> reason={item.Result.Reason}");
}
}
⚠️ Warning: Alpha Release
This library is currently in alpha and may not be stable. Features are subject to change, and the library should not yet be used in production environments.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | 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. |
-
.NETStandard 2.0
- Microsoft.Security.Extensions (>= 1.3.0)
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 |
---|---|---|
1.0.0-alpha | 69 | 8/18/2024 |
Initial alpha release