// the find
iArtorias/noceg
NoCEG - Steamworks CEG DRM Resolver
NoCEG strips Valve's CEG DRM from legally-owned Steam executables so old games keep working after Valve's CEG activation servers inevitably go dark. It's a three-binary toolkit — a signature scanner, a runtime resolver that hooks via vectored exception handling, and a final patcher — aimed squarely at game preservation and backup use cases, not general DRM research.
The runtime resolver does real work: it uses VEH to catch and resolve both constant and stolen/masked CEG-protected functions on the fly, backed by Zydis for disassembly and SafetyHook for hooking rather than hand-rolled pattern matching. Splitting signature extraction, runtime resolution, and patching into three separate binaries keeps each piece simple and independently testable by hand. The README documents per-title quirks (ShouldRestart, BreakpointType) that only come from actually running this against dozens of real games, not theorizing about CEG's design.
There's no automated test suite — correctness rests entirely on the maintainer manually re-running the supported-games list, so a regression in the hooking logic could silently break a title nobody happens to retest. Build is Visual Studio 2022/MSVC only with no CMake, which rules out CI and makes contributing friction-heavy. The workflow itself is manual and fiddly: rename a DLL, copy in two files, run three separate executables in sequence, then rename the DLL back — there's no single script tying it together. Black Ops II is listed as unsupported with just 'custom encrypted functions' as explanation, no detail on what a fix would actually require.