umium README

The project's README from github.com/hotline1337/umium. As one markdown file: README.md.

Umium

Umium is a security-focused anti-debugging and anti-reverse engineering library designed for high-resilience Windows 10/11 x64 applications. It uses a combination of undocumented Windows NT system functions and advanced runtime modifications to detect and neutralize debugging, memory tampering, or sandboxing attempts.

built-with-love made-with-cpp



Usage

Umium is a single-header library. Drop umium.hpp into your project.

In exactly one .cpp file, define UMIUM_IMPLEMENTATION before including the header:

// main.cpp (or any single TU)
#define UMIUM_IMPLEMENTATION
#include "umium.hpp"

int main()
{
    umium::get().start();
    // ...
}

Every other translation unit that only needs the type:

#include "umium.hpp"

No separate compilation step, no static/shared library — just the header.

Requirements

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

💵 Want to buy me a Coffee?

 - Donate BTC at `3HGhL4ygYrMMhncpWCGDJg9DbKSndgNiGX`
 - Donate ETH at `0x531ea7dcd99bed442a92c985f853dc6892876c40`
 - Donate LTC at `LXFmz25B36d3XcergMd4ttCjXPX9FnYTn6`
 - Donate TRX at `TExNFUbP8W6eCZqB31AKLSVQFCqDLjYmr9`

umium (hotline1337/umium)

Searching Database…

439 ·GitHub
What is this?Umium is a security-focused anti-debugging and anti-reverse-engineering library for high-resilience Windows 10/11 x64 applications. It uses undocumented Windows NT system functions and runtime modifications to detect and neutralize debugging, memory tampering, or sandboxing attempts.
Is this a library I link, or something else?It is a single-header C++ library — you just drop umium.hpp into your project, there is no separate compiled static or shared library.
How do I add it to my project?Drop umium.hpp into your project, then in exactly one .cpp file define UMIUMIMPLEMENTATION before including the header. Every other translation unit can just include the header normally.
Which compiler and OS do I need?You need Windows 10 or 11 on x86-64, compiled with Clang (trunk) or MSVC supporting C++20 or newer; C++26 is recommended for best results.
Will it work on Linux, macOS, or 32-bit systems?No — it is built specifically for Windows 10/11 on x86-64 and relies on undocumented Windows NT internals, so it has no cross-platform or 32-bit support.
Who is this library meant for?It targets developers who need to harden Windows software against debugging, tampering, and reverse engineering — common in anti-cheat, DRM, and malware-resistant tooling, as reflected in its game-hacking and reverse-engineering focus.
How does Umium actually detect a debugger?It combines calls to undocumented Windows NT system functions with runtime modifications to spot debugging, memory tampering, or sandbox environments.
Do I need to build a separate library file?No — there's no separate compilation step and no static or shared library to build; the header-only design means you just include umium.hpp and define one implementation macro.
Can I use an older C++ standard like C++17?No, the README requires C++20 as a minimum via Clang (trunk) or MSVC, with C++26 recommended for the best feature set.
Size
0.1 MB
Stars
439
Updated
CommitSep 20
Age
5y
Commits · 90 Days