13 Commits

Author SHA1 Message Date
dutchpsycho 8b4e48f09f ui/shell: add settings surface 2026-05-06 09:11:24 +10:00
dutchpsycho e8bb4f0841 ui/shell: rebuild main window backend flow 2026-05-06 09:11:24 +10:00
dutchpsycho 94e26e5a66 ui/session: update session storage and export flow 2026-05-06 09:11:23 +10:00
dutchpsycho 02a477e0b4 ui/signature: expand signature intel analysis 2026-05-06 09:11:23 +10:00
dutchpsycho 923690919d ui/services: add runtime configuration service 2026-05-06 09:11:19 +10:00
dutchpsycho e7d45adfc4 ui/analysis: update MainWindow layout for v1.9 and ignore reference zips
Add KernelHooksToggleButton to the main window toolbar, wire up the
integrity-level and conceal-hook-presence controls in the launch flow,
and adjust panel sizing for the updated pane layout.

Ignore SimpleVisor-master.zip and similar reference archive drops at repo root.
2026-04-19 12:00:00 +00:00
dutchpsycho ab225ab3a7 ui/analysis: add deferred launch-gate resume and teardown disarm to session startup
_pendingDeferredLaunchGateResume tracks whether the interface should signal the
launch gate after hook-ready notification. When set, the session startup flow
sends the gate release after confirming hook ready state rather than leaving the
gate decision to the controller.

DisarmTeardownProtectionBestEffort is called on window close to ensure the
controller releases any held gate before the interface exits, preventing the
target process from hanging indefinitely on a closed interface session. Refs #16.
2026-04-18 13:00:00 +00:00
dutchpsycho e871dc4f0e ui/analysis: add NTAPI hooks arm/disarm toggle
KernelHooksToggleButton in the toolbar lets the operator disarm and re-arm kernel
NT-API hook coverage at runtime by toggling BLACKBIRD_RUNTIME_FLAG_NTAPI_HOOKS_DISARMED
through a SetRuntimeConfig IOCTL. Disarming hooks also forces anti-virtualization off
since that mode depends on the NT hook surface. Button state is reflected with
green/amber color coding.
2026-04-18 11:00:00 +00:00
dutchpsycho ba0761674f ui/analysis: wire SignatureIntel into main window session lifecycle
MainWindow.SignatureIntel.cs initializes and disposes the SignatureIntelService,
configures its scan options from startup profile settings (enabled, memory scan,
page scan), and provides QueueSignatureIntelForRootPid and QueueSignatureIntelForView
so event-driven scans can be queued from the existing ETW and IOCTL event paths.
Closes #9.
2026-04-18 10:00:00 +00:00
dutchpsycho d3562752ff ui/analysis: stop API graph churn and expose hook origin validation
The API graph view was republishing the entire snapshot on every timer tick
when rows already existed, even if no new hook data had arrived. Because the
view model resets the backing observable collection during publish, that caused
constant UI churn, repeated allocations, and self-noise that obscured the real
call stream.

At the same time, memory action details were not surfacing the captured hook
origin chain well enough to answer where an allocation originated from. The UI
only considered a small fixed set of symbol tokens and had no fallback to raw
IPs or any visible validation around the return address.

Tighten the analysis surface in two ways:
- only republish the API graph when the snapshot is marked dirty
- expose the shared IPC stack-frame constant to the analysis formatter
- build hook frame lists from all available symbol slots and fall back to raw
  stack IPs when symbols are not yet resolved
- derive origin-module text from either OriginPath or originSymbol
- append hook frame summaries directly into memory action details
- surface return-address resolved/in-stack checks so the operator can judge
  whether the caller origin is backed by the captured stack

This cuts the constant redraw pressure and makes memory.alloc style events far
more actionable when tracing module origin and caller flow.
2026-04-13 19:08:00 +10:00
dutchpsycho d229241c74 ui/analysis: centralize control sessions and startup hook state 2026-04-13 14:54:35 +10:00
dutchpsycho 6797ac6e8e ui/analysis: surface module hook lanes and loader fields 2026-04-03 17:47:55 +10:00
dutchpsycho b5a1526529 Fix project paths after source tree rename 2026-04-03 14:23:15 +10:00