Shared Library

June 30, 2026 · View on GitHub

Location: Shared/
Language: C++ (Static Library)
Role: Shared utilities, cryptography, and common code used by both the C++ engine components.

Files

FilePurpose
CAtomicCore.cpp/.hAES-256-CBC encryption with 8 key/IV sets, MD5 hashing
SharedUtil.cpp/.hDebug logging, Base64, process/PID detection, token privs, registry, random strings
RuntimeImportResolver.hDynamic import resolution via GetProcAddress with obfuscated strings
SecurityChecks.cpp/.hStubbed/disabled — anti-breakpoint, anti-debug CPUID, anti-dump
SharedProtocols.hStub — process mitigation policies
SharedChecks.hStub — malicious process scanning
CLatencyEvaluator.h/.cppServer latency evaluation
CServerEndPoint.h/.cppHTTP-based server latency measurement
Common.hVersion defines, API URLs, build timestamp

Helpers (Shared/Helpers/)

FilePurpose
AES.h/.cppAES-256 CBC encryption implementation

Vendor (Shared/Vendor/)

FilePurpose
skCrypter.hCompile-time string encryption
XorStr.hXOR-based compile-time string obfuscation

Crypto (CAtomicCore)

  • Algorithm: AES-256-CBC with PKCS7 padding
  • Keys: 8 pre-defined 32-byte keys and 16-byte IVs
  • Same key/IV sets as AtomicEncoder.cs (C# side) — ensures cross-compatibility
  • MD5: Simple MD5 hash implementation for checksumming

Debug Logging (SharedUtil::AddDebugLog)

  • Writes to %LOCALAPPDATA%\AtomicShield\Trace.logs
  • Thread-safe via std::mutex
  • Timestamped log entries
  • Used extensively throughout AtomicEngine for diagnostics

Utility Functions (SharedUtil)

FunctionPurpose
AddDebugLogWrite timestamped log entry
Base64Encode / Base64DecodeBase64 encoding/decoding
GetProcessByNameFind process ID by executable name
GetProcessByWindowClassFind process ID by window class
FindFiveMLocate FiveM process via window class grcWindow
SetDebugPrivilegeEnable SeDebugPrivilege
RegistryRead / RegistryWriteRead/write registry values
RandomStringGenerate cryptographically random strings
GetKnownFolderPathResolve CSIDL/FOLDERID paths

Dynamic Import Resolution (RuntimeImportResolver)

  • Resolves API functions at runtime using GetModuleHandleA + GetProcAddress
  • All function/DLL names use skCrypt (skCrypter) for string obfuscation
  • Provides wrappers for: VirtualAllocEx, VirtualProtectEx, WriteProcessMemory, ReadProcessMemory, registry APIs, and more
  • Avoids static import table entries that could be hooked or monitored

Stubbed Features

The following files exist but contain commented-out or stub implementations:

  • SecurityChecks — Anti-breakpoint, anti-debug CPUID, anti-dump (all disabled)
  • SharedProtocols — Process mitigation policy application (not implemented)
  • SharedChecks — Malicious process scanning (not implemented)

Version Info (Common.h)

#define PRODUCT_VERSION_MAJOR 2
#define PRODUCT_VERSION_MINOR 2
#define PRODUCT_VERSION_BUILD 5
#define PRODUCT_VERSION_BETA  true

Build timestamp auto-generated via __DATE__ / __TIME__.