Skip to content

[pull] capemon from kevoreilly:capemon - #150

Open
pull[bot] wants to merge 426 commits into
EnegyBase:capemonfrom
kevoreilly:capemon
Open

pull[bot] wants to merge 426 commits into
EnegyBase:capemonfrom
kevoreilly:capemon

Conversation

@pull

@pull pull Bot commented Jan 27, 2025

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.1)

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull Bot added the ⤵️ pull label Jan 27, 2025
kevoreilly and others added 29 commits December 3, 2025 14:06
Introduce `_pipe_sprintf` for formatted string output and
`InteractiveBreakpointCallback` for handling interactive
breakpoints. Update `SetConfigBP` and `SetInitialBreakpoints`
to conditionally use the new callback based on configuration,
enhancing breakpoint functionality for interactive debugging.
- WMI_Next hook added, which functions similar to WMI_Get for async related APIs on the backend (e.g. Get-CimInstance instead of Get-WmiObject
- Added initial spoofery for WMI
- Couple more hooks (to be officially added by Kevin at some point)
- Hopefully fixed weirdness with existing WMI hooks and NOTAIL shenanigans, just converted them to HOOK macros and we now log prior to calling the hook (which is effectively the same as NOTAIL)
Moved the declaration of the function pointer
_NtQueryInformationThread from static to non-static,
allowing broader access outside the current translation unit.
Moved the declaration of the function pointer
_NtQueryInformationThread from static to non-static,
allowing broader access outside the current translation unit.
kevoreilly and others added 30 commits August 19, 2026 11:29
Surgically hooks the GetSystemFirmwareTable and EnumSystemFirmwareTables APIs exported by kernel32.dll to hide virtualization environments in-memory with 100% fidelity:
1. Intercepts ACPI table enumerations in EnumSystemFirmwareTables and deletes the virtual-guest-specific WAET (Windows ACPI Emulated devices Table) signature (0x54454157) on-the-fly, returning a seamless and continuous signature list.
2. Intercepts direct queries to the WAET table in GetSystemFirmwareTable and force-returns 0 (Not Found), perfectly simulating physical hardware.
3. Performs fast, safe, and bounded in-place ASCII memory replacements on other ACPI tables (DSDT, FACP, etc.) and Raw SMBIOS ('RSMB') tables to dynamically overwrite virtualization signatures (VMware, VirtualBox, QEMU, Hyper-V, Bochs) with physical OEM identifiers (Intel, HP, Dell, Samsung, ASUS), bypassing firmware checking scripts cleanly without corrupting structures or table checksums.
…f monitor threads, is_monitor_thread() helper function
Spoof ACPI and SMBIOS raw firmware tables dynamically
Implement high-level .NET API Translation and JIT Metadata Tracing (PR-2)
docs(skill): add build and compilation guide to capemon-developer skill
…tion-guarded globals and per-thread states via Tls APIs
Fix infinite YaraScan loop when dump limit is reached
PR #116 made SpoofWmiData resolve the object's WMI __CLASS directly, so
the g_last_seen_disk_query / g_last_seen_physicalmemory flags PR #161
brought back from the old #97 patch are redundant. Worse, gating the
LogicalDisk Size and PhysicalMemory Capacity spoofs on those flags skips
spoofing whenever the class isn't reached via a SELECT on the same thread:
CreateInstanceEnum (Get-CimInstance / Get-WmiObject -Class), GetObject on
an instance, and async results delivered on the WMI sink thread.

Remove the flags and restore both ExecQuery hooks to log-before-call.
The AdapterRAM (realistic 4GB overflow value) and MaxRefreshRate spoofs
from #161 are correct and kept.
Drop redundant g_last_seen_* WMI query gating from PR #161
…ines

docs(skill): add C++ compilation and include order guidelines
Reviewing a pull request or testing someone else's branch means checking it
out somewhere. Doing that in your working clone is unsafe when it carries
uncommitted work, and doing it with git worktree by hand means resolving
which fork the branch lives in, fetching it under a name that will not
collide, setting upstream, and remembering to tear it down.

This repository uses the fork convention - origin is your fork, upstream is
kevoreilly/capemon, and the default branch is 'capemon' - which makes the
manual version more error-prone than usual. The script reads the canonical
repository from upstream, so PR lookups go to the right place, and
'new --branch' searches origin, upstream and any other remote in turn.

  new --pr <id> / --branch <name> / --from <ref>
  list / path / update / remove / cleanup / info

Standard library only; no dependencies and nothing to build. gh is needed
only for --pr. Worktrees it creates are tagged inside the git admin
directory, so git status stays clean and cleanup only ever removes its own.
remove and cleanup refuse to discard uncommitted changes or unpushed commits.

The same script lives in CAPEv2 as utils/agent_worktree.py.
Mirrors kevoreilly/CAPEv2#3228. The removal guard compared HEAD against the
tracked upstream only, so a branch tracking 'upstream/capemon' while its
commits were pushed to a fork looked unpushed and cleanup refused to remove
it. Work now counts as unpushed only when no remote-tracking ref contains
HEAD.
skills: add agent_worktree.py for isolated PR/branch checkouts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants