Josh Lospinoso a773c2ff20 docs: build layered Gargoyle documentation reference
Restructure docs into a layered reference covering responsible use, concepts, lab setup, architecture siblings, implementation internals, validation semantics, research context, and maintainer guidance.

Clarify x86/x64 live validation claims, document ARM64/ARM64EC headless evidence, and configure MkDocs Mermaid/table rendering for the new diagrams and matrices.
2026-05-14 11:38:04 -10:00
2017-03-03 22:21:54 -06:00
2017-03-03 20:28:49 -06:00
2017-03-04 12:56:36 -06:00
2017-03-03 20:28:49 -06:00
2017-03-03 20:16:52 -06:00
2017-03-03 20:28:49 -06:00

gargoyle title

gargoyle infographic

Gargoyle

Gargoyle is a historical Windows research proof of concept for temporal memory state. The original Win32/x86 implementation remains the canonical proof: a benign action is observable during a small work window, while the relevant code region spends its dormant interval non-executable before timer/APC re-entry.

The refreshed repository keeps that history central while adding sibling x64, ARM64, and ARM64EC demonstrations, a reproducible validation harness, and clearer evidence language. It also documents the corrected timer/APC path around SleepEx(INFINITE, TRUE).

Gargoyle does not claim invisibility or product bypass. It is not a loader, operator workflow, or deployment guide, and it does not provide persistence, injection, credential access, networking, or C2 guidance.

Architecture And Evidence Boundaries

  • Win32/x86 is the canonical historical implementation.
  • x64, ARM64, and ARM64EC are sibling demonstrations, not replacements for the original design.
  • The x64 sibling is not a direct port of the original x86 mshtml.dll gadget/trampoline path.
  • x86/x64 live validation uses two benign MessageBoxes. That validates initial execution and later controlled re-entry, but not callback identity or every memory-protection transition.
  • ARM64 and ARM64EC headless validation also checks completed-round and callback-round counters, giving stronger callback-delivery evidence.
  • ARM64EC exercises the EC-code allocation behavior used by this demo. It does not demonstrate mixed x64 DLL interop or prove every ARM64EC dynamic-code pattern.

Local Gate

uv sync --all-groups
just ci

Historical Context

S
Description
Automated archival mirror of github.com/JLospinoso/gargoyle
Readme AGPL-3.0 1.2 MiB
Languages
Python 62.5%
C++ 23.9%
Assembly 9.3%
Just 4.3%