PAGES
← all tools
◆ Malware Analysis

hollows_hunter

v0.4.0 open-source

hollows_hunter is a command-line tool that scans running processes to recognize and dump malicious implants, shellcodes, hooks, and in-memory patches.

Summary

hollows_hunter is an open-source, BSD 2-Clause licensed command-line tool for Windows that scans running processes for malicious implants such as replaced or injected PEs, shellcodes, hooks, and in-memory patches. Built on the PE-sieve scanning engine, it extends that tool's single-PID scanning into broader targeting by process list, name, or creation time, and can scan every running process if none is specified; it also supports continuous monitoring through a loop mode or as an ETWETWEvent Tracing for Windows, a Microsoft kernel-level logging framework that lets applications and drivers emit structured events; cyber tools use it to observe process, network, and file activity without installing additional sensors. listener. It is aimed at malware analysts and incident responders who need to catch process-hollowing and injection techniques on live systems rather than in static files. First committed in 2018 and still actively maintained, with 54 commits from 5 contributors in the past year.

hollows_hunter is a command-line tool that scans running processes to recognize and dump malicious implants, shellcodes, hooks, and in-memory patches.

How hollows_hunter helps

Which processes on this machine are currently running injected or hollowed code?

scans every running process by default, using the PE-sieve engine to flag replaced or implanted PEs, shellcodes, hooks, and in-memory patches, and dumps each suspicious region for later review

Is this specific set of processes clean, without scanning the whole machine?

accepts a list of PIDs or process names and restricts the scan to just those, so a targeted check does not have to wait on a full sweep

Did anything get injected right after this process launched?

can target processes by creation time relative to when the scan started, catching implants dropped into freshly spawned processes

Is a live intrusion still active on this host right now?

runs continuously in a loop, rescanning at intervals so implants that appear after the first pass are still caught

Can this host be watched for injection as it happens, instead of checked periodically?

runs as an ETW listener on 64-bit systems, reacting to process events as they occur rather than polling on a schedule

Which memory regions were flagged, and where's the evidence for the incident report?

dumps the suspicious PE or shellcode content it finds to disk, giving an analyst the actual bytes behind each detection rather than just a verdict

all 21 features, with the evidence for each →

Languages

Not documented

Features

21 capabilities across 2 capability groups

Built from hollows_hunter's releases, docs, README and our own runs. “Seen” marks the month we first spotted a release the vendor didn't date. Group names and tags are our labels.

Compare with peers →

  • hollows_hunter covers 2 of the 8 investigation and response capabilities we track.

What hollows_hunter offers you

  • Command-line interface7
  • JSON data export1
  • User-defined detection rules1
Memory forensics 5 features Investigation and response since 2018
Scan caching and output directory management shipped Enables optional process memory scan caching and sets a default output directory for results. 5 releases · 3 other sources · first seen Dec 2018

Shared capability: Memory forensics

Also counts toward: Command-line interface

release

  • Adds hollows_hunter.exe /cache flag to enable optional process memory scanning cache v0.3.3 · Jan 2022 · source · release history
  • Sets default output directory to hollows_hunter.dumps when no explicit path is specified v0.3.3 · Jan 2022 · source · release history
  • Adds the /log parameter to enable appending scan summaries to hollows_hunter.log v0.2.1 · May 2019 · source · release history
  • Adds the /dir option to set a specific root directory for memory dumps v0.1.9 · Dec 2018 · source · release history
  • Adds the /uniqd option to create unique, timestamped directories for each run's results v0.1.9 · Dec 2018 · source · release history

example

  • Enable caching for a scan while storing results in the new default directory. ./hollows_hunter.exe /cache /i v0.3.3 · Jan 2022 · source
  • Save all dump files to a specific folder instead of the default location. ./hollows_hunter.exe /dir C:\cyber\dumps v0.1.9 · Dec 2018 · source
  • Automatically manage output directories with timestamped names for each execution. ./hollows_hunter.exe /uniqd v0.1.9 · Dec 2018 · source
Suspended process preservation shipped Allows suspending, rather than terminating, suspicious processes to preserve their memory state for forensic analysis. 1 release · 1 other source · first seen Aug 2019

Shared capability: Memory forensics

release

  • Adds /suspend parameter to automatically suspend processes flagged as suspicious v0.2.2.6 · Aug 2019 · source · release history

example

  • Scan a target and automatically suspend any suspicious processes to preserve evidence. hollows_hunter.exe /suspend v0.2.2.6 · Aug 2019 · source
Inaccessible memory scanning shipped Automatically enables reflection mode when scanning inaccessible memory regions. 1 release · first seen Dec 2021

Shared capability: Memory forensics

release

  • Automatically enables /refl mode when scanning inaccessible memory regions (e.g., /data 4 or /data 5) v0.3.2 · Dec 2021 · source · release history
Virtual cave scanning shipped Detects malicious activity in memory regions not visible in standard process snapshots. 1 release · first seen Jun 2020

Shared capability: Memory forensics

release

  • Adds Scan virtual caves feature to detect memory regions not visible in standard process snapshots v0.2.7.1 · Jun 2020 · source · release history
Non-executable memory scanning shipped Extends scanning capabilities to non-executable memory regions when Data Execution Prevention (DEP) is disabled. 1 release · first seen Jun 2019

Shared capability: Memory forensics

release

  • Adds /data parameter to scan non-executable memory if DEP is disabled v0.2.2.5 · Jun 2019 · source · release history
Static malware analysis 3 features Investigation and response since 2018
OBSCF scanning options shipped Supports /obfusc parameter and wider /shellc options for obfuscated shellcode detection within the embedded PE-sieve engine. 3 releases · first seen Nov 2023

Shared capability: Static malware analysis

Also counts toward: Command-line interface

release

  • Adds scan options group with /obfusc parameter v0.3.8.1 · Nov 2023 · source · release history
  • /obfusc parameter is now supported as an option passed to the embedded PE-sieve engine. v0.3.8 · Nov 2023 · source · release history
  • The /shellc parameter for PE-sieve now accepts a wider set of options. v0.3.8 · Nov 2023 · source · release history
PE resource version extraction shipped Extracts version information from PE resources using the updated PE-sieve engine. 2 releases · first seen Nov 2018

Shared capability: Static malware analysis

release

  • Adds version information extraction for PE resources in the updated PE-sieve engine (v0.3.5) v0.3.5 · Nov 2022 · source · release history
  • Adds /version flag to print the tool's version v0.1.8 · Nov 2018 · source · release history
Import reconstruction mode control shipped Allows specifying import reconstruction aggressiveness via the /imp flag. 1 release · first seen Dec 2021

Shared capability: Static malware analysis

Also counts toward: Command-line interface

release

  • Adds /imp flag to specify import reconstruction mode from restrictive (R0) to aggressive (R2) v0.3.2 · Dec 2021 · source · release history
Other / not yet classified 13 features Features we have not matched to a capability yet. A suggested match is marked.
hollows_hunter shipped suggested Scans running Windows processes for malicious implants, replaced PEs, shellcodes, hooks, and in-memory patches using the PE-sieve engine. 8 releases · 1 other source · first seen Nov 2018

Suggested capability: Memory forensics. This is our guess, not confirmed.

release 8 total

  • Adds jlvl parameter to regulate the level of details included in the JSON report and list hooks/patches in the scan_report v0.2.9.5 · Apr 2021 · source · release history
  • Adds /iat CLI argument to enable scanning for IAT Hooking techniques v0.2.6 · Apr 2020 · source · release history
  • Adds /json flag to output the scanning summary as a JSON report instead of text. v0.2.4 · Dec 2019 · source · release history
  • Updates /pname parameter to accept semicolon-separated process names (e.g., iexplore.exe;firefox.exe) for targeted scanning. v0.2.4 · Dec 2019 · source · release history
  • Adds /minidmp CLI argument to create MiniDumps of suspicious processes v0.2.2.7 · Oct 2019 · source · release history
  • Generates a new JSON report named summary.json after each scan v0.2.1 · May 2019 · source · release history

docs

  • Scans all running Windows processes for malicious implants, replaced PEs, shellcodes, hooks, and in-memory patches using PE-sieve.
ETW event listening shipped Enables ETW listening mode (64-bit only) with configurable event types via an INI profile. 3 releases · 1 other source · first seen Jul 2020

release

  • HH_ETWProfile.ini controls which ETW event types are listened to v0.4.0 · Dec 2024 · source · release history
  • /etw flag enables ETW listening mode in hollows_hunter (64-bit only) v0.4.0 · Dec 2024 · source · release history
  • /dnet parameter added to apply an additional .NET policy during scanning v0.2.8.3 · Jul 2020 · source · release history

example

  • Scan a target process with the new .NET policy using the /dnet flag. hollows_hunter.exe /process <pid> /dnet v0.2.8.3 · Jul 2020 · source
Bitness mismatch alerts shipped Detects and alerts when the scanner bitness differs from the target process or OS, or when scanning partially due to architecture constraints. 4 releases · first seen Jul 2020

release

  • Alerts if the scanner bitness differs from the OS v0.2.8 · Jul 2020 · source · release history
  • Displays whether the scanned process is 32-bit when scanning on a 64-bit OS v0.2.8 · Jul 2020 · source · release history
  • Supports new modes in the /data parameter v0.2.8 · Jul 2020 · source · release history
  • Alerts about partially scanned processes (64-bit process scanned by a 32-bit scanner) v0.2.8 · Jul 2020 · source · release history
CLI output and help enhancements shipped Improves command-line interface usability with colored console logs, explicit process name display, and parameter-specific help syntax. 3 releases · first seen Dec 2018

Also counts toward: Command-line interface

release

  • Enables detailed info for a single parameter via /<parameter> ? syntax (e.g. /hollows ?) v0.2.8 · Jul 2020 · source · release history
  • Improves CLI output with colored console logs and explicit scanned process name display v0.2.5 · Mar 2020 · source · release history
  • Improves error reporting by informing the user when an invalid parameter is supplied v0.1.9 · Dec 2018 · source · release history
Custom signature scanning shipped suggested Allows supplying custom signature files via the /pattern argument to detect specific shellcode patterns using SigFinder format. 1 release · 1 other source · first seen Feb 2024

Suggested capability: Memory forensics. This is our guess, not confirmed.

Also counts toward: Command-line interface, User-defined detection rules

release

  • Adds the /pattern <file> CLI argument to supply custom signatures for memory scanning, with SigFinder format support and optional .pattern.tag output v0.3.9 · Feb 2024 · source · release history

example

  • Scan a target process using a locally defined custom signature file to detect specific shellcode patterns. hollows_hunter.exe /process:1234 /pattern /path/to/custom_sigs.txt v0.3.9 · Feb 2024 · source
Process time-based filtering shipped Limits scanning scope to processes created within a specific timeframe relative to the scanner's start time. 2 releases · first seen Apr 2021

release

  • Implements a new default value of 0 for the /ptimes flag when no value is provided, scanning all processes created after HH started. v0.2.9.8 · Jun 2021 · source · release history
  • Adds ptimes parameter to limit scan to processes created a defined number of seconds before HollowsHunter started v0.2.9.5 · Apr 2021 · source · release history
Process rebase and reporting shipped suggested Adds /rebase and /report flags to the CLI for process rebasing and reporting capabilities derived from PE-sieve updates. 1 release · first seen Dec 2024

Suggested capability: Static malware analysis. This is our guess, not confirmed.

release

  • /rebase and /report flags added via updated CLI following PE-sieve changes v0.4.0 · Dec 2024 · source · release history
Thread callstack scanning shipped suggested Enables scanning of threads' callstacks as an additional shellcode detection layer. 1 release · first seen Feb 2022

Suggested capability: Memory forensics. This is our guess, not confirmed.

Also counts toward: Command-line interface

release

  • Supports new PE-sieve parameter /threads: enabling scan of the threads' callstack as a shellcode detection layer. v0.3.4 · Feb 2022 · source · release history
Process exclusion list shipped Allows specifying processes to be ignored during the scan operation. 1 other source · first seen Jun 2021

example

  • Exclude a specific suspicious process from the HollowsHunter scan. ./hollows_hunter.exe /pignore "suspicious_process.exe" v0.2.9.8 · Jun 2021 · source
Scan result detail levels shipped Controls the granularity of information provided in reports, including the ability to list specific hooks and patches. 1 release · first seen Apr 2021

Also counts toward: JSON data export

release

  • Adds jlvl parameter to regulate the level of details included in the JSON report and list hooks/patches in the scan_report v0.2.9.5 · Apr 2021 · source · release history
Process reflection support shipped Allows enabling process reflection before scanning to detect hidden implants. 1 release · first seen Jun 2020

Also counts toward: Command-line interface

release

  • Adds /refl parameter to enable process reflection before scanning v0.2.7 · Jun 2020 · source · release history
Dump mode selection shipped Allows selecting specific dump modes for scanning operations via the /dmode flag. 1 release · first seen Nov 2018

release

Process termination control shipped suggested Automatically terminates processes identified as suspicious during a scan via the /kill flag. 1 release · first seen Nov 2018

Suggested capability: Response playbook automation. This is our guess, not confirmed.

release

  • /kill automatically terminates processes identified as suspicious during a scan v0.1.5 · Nov 2018 · source · release history

Lines in monospace are the tool's own words: help text parsed from its source, or an endpoint from its API document. Under release, a line is our summary of a dated release. Under docs, it is quoted from the tool's own documentation or website. Each links back to the source it came from.

Score card

  1. Shipping velocity releases a month, last 12 months
  2. Documentation quality release-notes rubric, 0–100
  3. Breaking-change discipline how rarely a release breaks users, and notice given
  4. Maintenance risk quiet time against its own cadence, maintainers
  5. Innovation & surface new capabilities, API and MCP surface
  6. Community health
  7. Contributor trend distinct committers, this year against last
  8. Maintainer concentration bus factor now against a year ago
  9. Issue backlog trend issues closed per issue opened, 12 months
  10. Responsiveness median time to a maintainer’s first reply

Nine scores for hollows_hunter, each built from the releases, notes and API history this site tracks — and, on Researcher and Business, where it stands among every measured tool in its category and how that has moved.

Score cards are part of every paid plan.

See plans →

Each score is 0–100 on a published rubric, derived from data this site already shows. A dimension we cannot measure says so — it is never scored 0 and never enters a rank.

How this is scored
  • Shipping velocity — releases a month over the last 12 months, on a log scale where 16 a month scores 100. Needs 3 releases in the window.
  • Documentation quality — the release-notes rubric published on the analytics page, unchanged.
  • Breaking-change discipline — the share of releases carrying a breaking change (none scores 100, half or more scores 0). Only projects that label breaking changes are measured: a clean record cannot be told from an unlabelled one.
  • Maintenance risk — quiet time measured against the tool's own release cadence (quiet longer than 90 days and three typical gaps scores 0), plus the number of active maintainers and whether contributors are growing, where known. Higher is lower risk.
  • Innovation & surface — new capabilities in the feature ledger this year, API and MCP operations added, and the share of commits that are features: the mean of whichever we hold.
  • Community health (open-source tools only) — each is a direction, not a size: contributors this year against last, the bus factor now against a year ago, and issues closed per issue opened, where steady scores 50, doubled 100 and halved 0; plus the median time to a maintainer's first reply (an hour scores about 100, a month or more 0). A commercial card has no repository and carries none of the four.
  • Documented delivery (commercial tools) — when a vendor's documented new capabilities have slowed against its own baseline, that counts against the overall standing as heavily as two low dimensions. Steady delivery, or too little history to judge, leaves the standing alone; it is never a sixth score.
  • Open-source tools are scored on repository signals; commercial tools on their published changelog. Ranks compare tools within one category and one profile and need at least five measured peers; the overall standing needs three ranked dimensions. Best-in-breed or consolidator is a shape, not a quality, and is never scored.

Release-note detail over time

See how much detail hollows_hunter puts in its release notes, quarter by quarter, and compare it with tracked tools in the same category. This history uses up to ten retained, reviewed notes per tool; sparse or blank older quarters may reflect that limit.

Checking release-note history…

Explore the full chart →

Releases

Show

25 entries

  1. December 20241
  2. February 20241
  3. November 20232
  4. November 20221
  5. February 20221
  6. January 20221
  7. December 20211
  8. June 20211
  9. April 20211
  10. July 20202
  11. June 20202
  12. April 20201
  13. March 20201
  14. December 20191
  15. October 20191
  16. August 20191
  17. June 20192
  18. May 20191
  19. December 20181
  20. November 20182
    Show

    25 entries

    Project health

    Issue, contributor and maintainer activity in hasherezade/hollows_hunter, 2023-10 – 2026-09, as of 2026-09-25. Twelve-month figures first; the trend lines run the whole window.

    1. Contributors 1 −1 vs prior 12 months
    2. Maintainers 1 +0 joined · −0 left, last 12 months
    3. Bus factor 1 committers behind half the commits
    4. Community-filed 100% of issues opened, last 12 months
    5. Median time to close not measured first maintainer reply 12 hours
    6. Open backlog 2 of 19 issues ever filed
    1. Issues opened / month 0 · 0 communitymaintainers
    2. Open backlog 2
    3. Contributors / month 0
    4. Commits / month 0
    5. Stars 2,404
    Issue themes, last 12 months
    • other 100%

    Counts from the project's public repository and git history; no individuals are identified. Maintainers are the committers covering 80% of the last year's commits. how we measure this

    Libraries its release ships

    What its latest release locks, checked against known advisories.

    None of its release's images build from a lockfile we can read.

    Add the badge to your README

    Maintain this project? The badge links readers straight to this page, so they can follow every release here.

    Tracked by Cyber Toolchain Choose a badge style and copy the code →
    browse all tools → score card for your toolchain →