This page gives the shortest safe path from a fresh checkout to reproducible validation evidence. Read Responsible Use first if you are new to the repository.
- Windows desktop session for live MessageBox validation.
- Visual Studio C++ toolchain with MSBuild and a Windows 10/11 SDK.
- NASM on
PATHfor Win32 and x64 PIC builds. - Python 3.13,
uv, andjust. - ARM64 and ARM64EC toolchains only when building the Windows-on-Arm siblings.
git clone https://github.com/JLospinoso/gargoyle.git
cd gargoyle
uv sync --all-groupsThe canonical repository gate is:
just ciThat builds x86 and x64, runs native analysis and AddressSanitizer builds, then runs Python format, lint, type, test, coverage, and docs checks.
For a faster docs-and-Python pass:
just checkThe default acceptance run builds Debug|x86, starts Gargoyle.exe from the
output directory, parses the setup banner, and closes two benign gargoyle
MessageBoxes:
uv run --all-groups gargoyle-acceptance --configuration DebugThe first MessageBox validates initial PIC handoff. The second validates later re-entry into the benign demo path after an alertable wait. That is consistent with the intended timer/APC path, but the x86/x64 live MessageBox check does not independently prove callback identity or observe every memory-protection transition. It also does not prove product evasion, invisibility, or broad defensive failure.
Use artifact mode when a build or CI environment should not launch the live MessageBox path:
uv run --all-groups gargoyle-acceptance --configuration Debug --platform x64 --mode artifacts
uv run --all-groups gargoyle-acceptance --configuration Debug --platform arm64 --mode artifactsSee Headless, Artifacts, And Architecture for what each non-interactive mode validates. ARM64 and ARM64EC headless runs add completed-round and callback-round counters, which makes their non-interactive evidence stronger for callback delivery than the x86/x64 MessageBox check.
- Lab Setup for toolchain and desktop expectations.
- Win32 Original for the canonical control flow.
- Acceptance Harness for CLI internals.
- Validation Overview for evidence language.