LibreAuth Nut.exe Visit Website

Hardening — Anti-Cheat · Anti-RE · Anti-Inject

Production-grade protection for LibreAuth — configure server and client to maximize bypass resistance.

WARN
No system is 100% unhackable — the goal is to make attacks costly and slow enough to deter attackers, while enabling fast server-side detection.

Three-Layer Overview

LayerProtects AgainstLibreAuth
ServerReplay, session hijack, forged hash, VPN/proxyIntegrityGuard, HashCore, HWID lock, rate limit
WireMITM sending forged JSON success responsesEd25519 + HMAC, AES enckey
ClientRE, binary patching, DLL injection, debuggerObfuscator + hardening.hpp + hash on init

Panel — Lockdown Settings (Recommended)

App → Settings → Access Controls — enable these before production release:

SettingValueReason
Require SignONForce client Ed25519 verification — blocks fake responses
Anti-Tamper (integrity_guard)ONMaster switch — HWID-bound session, digest replay protection
Hash CheckONWhitelist MD5 of release-built exe only
Bind Session IP (strict_ip)ON*Session bound to IP — *disable if users change IP frequently
Anti Replay (nonce chain)ONClient returns nonce on every request after init
HWID Lock / Force HWIDONOne key per machine · require hwid on every request
Token File CheckON (C++)token.dat + thash on init — blocks bare client copy
Block VPNAs neededBlock alt accounts / proxy login
Session TTLShort (e.g. 6–24 hrs)Harder to reuse stale sessions
Max Login Fails5–10Prevent username/password brute force
TIP
After enabling Hash Check — remove dev build auto-captured hashes from the Hashes tab · whitelist only obfuscated exe files

Wire — MITM / Fake API Protection

  1. Enable Require Sign in the panel
  2. Client verifies X-Signature-Ed25519 + timestamp before parsing JSON — see Response Signing
  3. Send 35-char enckey on init → AES-encrypted body — wire capture via Fiddler is unreadable
  4. Do not embed Application Secret in the client — use Ed25519 public key only
  5. HTTPS only · pin certificate in native client when possible

Hash Check — Binary Patch Protection

  1. Build release → obfuscate (VMProtect / Themida) → then compute MD5
  2. Panel → Hashes → add MD5 of the actual exe (drag & drop)
  3. Client sends hash= on every init call
  4. Even a 1-byte jmp/nop patch → MD5 changes → server rejects

Fix errors: Hash troubleshooting

Reverse Engineering — Making RE Harder

Server protects the wire · but attackers can open the exe in x64dbg if the client is not hardened:

TechniquePurpose
Commercial packerVMProtect, Themida, Enigma — virtualization + built-in anti-debug
String encryptionAPI URL, ownerid, app name, Ed25519 pubkey — decrypt briefly at runtime then wipe
Control-flow obfuscationSplit auth logic across multiple functions · avoid a single login block
Integrity self-checkHash .text section before init — exit if patched
Split auth moduleSeparate auth DLL · load from resource · self-sign the DLL
Anti-dumpDo not keep license key / session as plain strings in memory for long
WARN
Never hardcode keys or webhooks in the client — attackers can dump strings unless obfuscated

Anti-Inject — DLL / Hook / Debugger Protection

Attackers often inject DLLs or attach debuggers to bypass auth — hardening.hpp runs multi-layer checks:

LayerDetects
DebuggerIsDebuggerPresent, RemoteDebug, NtQueryInformationProcess (DebugPort / DebugObject)
HW BreakpointDR0–DR3 registers — catches x64dbg/CE hardware breakpoints
Loaded DLLcheatengine, dbk64, x64dbg, minhook, frida, scyllahide, etc.
Process scanCE, IDA, x64dbg, OllyDbg, dnSpy, Ghidra, Process Hacker, Fiddler, etc.
Window titleWindows titled "Cheat Engine", "IDA -", "x64dbg" when enabled
VM detectVMware, VirtualBox, Hyper-V, QEMU — block when score ≥ 3
  1. Call la_guard::RunChecks() before init() and in a loop every 30–60 seconds
  2. Inspect fail reason: la_guard::FailName(la_guard::LastFail())
  3. Dev on VM: RunChecks(false) temporarily disables VM check
  4. Call check() heartbeat alongside the guard loop

C++ — Usage Example

#include "hardening.hpp"
#include "auth.hpp"

int main() {
    if (!la_guard::RunChecks()) {
        // la_guard::FailName(la_guard::LastFail()) → "bad_process", "virtual_machine", ...
        return 1;
    }

    LibreAuth::Client app("MyApp", "OWNER_ID_10", "1.0", "https://your-domain/api/1.3/");
    app.setPublicKey("ED25519_HEX_FROM_HEALTH");
    app.setHash(la_guard::ExeMd5Hex());

    if (!app.init()) return 1;
    if (!app.login("user", "pass", la_guard::Hwid())) return 1;

    while (running) {
        if (!la_guard::RunChecks()) break;   // CE/IDA/x64dbg/VM
        if (!app.check()) break;
        Sleep(45000);
    }
    return 0;
}

// Dev on VMware/VBox:
// la_guard::RunChecks(false);  // disable VM check

File: sdk/cpp/hardening.hpp · setup: C++ Client Setup

C# / Unity / WPF

FiveM / Lua

Monitor & Response

Pre-Production Checklist

#Item
1HTTPS + Require Sign + Anti-Tamper ON
2Hash Check ON + whitelist obfuscated exe only
3Client verifies Ed25519 on every response
4enckey + AES on wire (optional but recommended)
5Obfuscate binary + encrypt credential strings
6Anti-debug + anti-inject loop (hardening.hpp / equivalent)
7check() heartbeat + HWID lock
8Close install/ after setup · config.production.php not in git
9Admin password + 2FA on panel
10Seller API IP whitelist
INFO
Server anti-tamper: Anti-Tamper · Signing: Response Signing · Security: Security Practices