Stop people from prying around in your process's memory!
- Cross platform memory protection providing low and high level access to protected memory using DPAPI on Windows NT and platform idependent memory protection on UNIX systems using a custom BLAKE3-based stream cipher to keep your passwords and sensitive data safe from memory dumps and snooping.
- Simple managed and unmanaged debugger detection and mitigation, thread hiding, etc ...
- Resource protection - protect your application resources in compressed and encrypted key-value binary blobs.
- High performance cryptography library (AES, SHA family hashes, Scrypt, BLAKE2, BLAKE3, ...) operating completely on protected memory, allowing you to use your protected secrets without compromising them (unlike
SecureString
for example).- SHA Family
- SHA-1
- SHA-224
- SHA-256
- SHA-384
- SHA-512
- SHA-3
- BLAKE2
- BLAKE3
- AES-256
- Scrypt
- SHA Family
- Unified high and low level interfaces for all cryptographic functions for protected and unprotected memory alike.
- Low and high level interfaces for process interop, dll injection, process hollowing and X86 assembly generation.
- Hardware-accelerated hex-decode function that is up 6.5-10 times faster than
Convert.FromHexString()
(15.2 GB/s vs. 2.3 GB/s on Intel i9-13900K, 16.5 GB/s vs. 1.6 GB/s on Apple M2 using ARM NEON/AdvSIMD). - Unmanaged memory framework and allocation tracking - prevent memory leaks in your unmanaged code.
- Bit manipulation utilities - easily swap endianness.
- WinAPI data types - Easy .NET to Windows type conversion. Do you miss your
DWORD
s,BSTR
s andLPCTSTR
s? Me neither, but if you have to use them for interop - here you go.