whatisgithub

What is veh-dumper?

xxfurywolfxx/veh-dumper — explained in plain English

Analysis updated 2026-05-18

13C++Audience · researcherComplexity · 5/5LicenseSetup · hard

In one sentence

A Windows DLL that extracts each vectored exception handler from a running program and repackages it as a standalone file that opens directly in IDA for reverse engineering.

Mindmap

mindmap
  root((repo))
    What it does
      Dumps exception handlers
      Repackages as PE for IDA
    Tech stack
      C plus plus
      Windows DLL
      IDA Pro
    Use cases
      Reverse engineer malware hooks
      Analyze copy protection
    Audience
      Security researchers
    Limits
      Max function size
      Max call depth

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Reverse engineer a vectored exception handler used by malware or copy protection to hide logic

USE CASE 2

Extract just one handler's code from a running process instead of dumping the whole module

USE CASE 3

Open a dumped handler directly in IDA with imports and system calls already labeled

USE CASE 4

Trace which functions and system calls a specific exception handler reaches

What is it built with?

C++WindowsIDA ProDLL Injection

How does it compare?

xxfurywolfxx/veh-dumper0x1-1/revivalagusx1211/newshoes
Stars131313
LanguageC++C++C++
Setup difficultyhardhardhard
Complexity5/55/55/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires Visual Studio 2022 with C++23 support and a DLL injection method to actually run the tool.

So what is it?

Veh dumper is a tool for people who reverse engineer Windows programs, meaning they take compiled software apart to understand how it works, often using a program called IDA. It targets a specific technical mechanism inside Windows programs called vectored exception handlers, which are special functions a program can register to catch and respond to errors while it is running. Malware and copy protection systems sometimes hide important logic inside these handlers, which makes them a common target for analysis. The tool works by being injected into a running program as a DLL, a type of Windows code library. Once inside, it finds every registered exception handler and continue handler, then pulls out the raw code that belongs to just that one handler rather than dumping the entire program. For each handler, it also traces every reference the code makes to nearby data, every function it directly calls, and every indirect call it makes through a lookup table, following those calls a limited number of steps deep. When a handler calls into a standard Windows system file, the tool does not bother dumping that system code. Instead it labels the call with the real function name, so an analyst reading the result immediately understands what is being called instead of seeing a meaningless address. Each handler is packaged back up as a small standalone Windows executable file that opens directly and correctly inside IDA, with everything positioned at the right memory address and the entry point already pointing at the right spot. Results are written into a folder next to the injected file, along with a log file and a text report per handler describing what was found. To build it you need Visual Studio 2022 with a fairly recent version of C++. Getting the tool running requires injecting it into a target process using any standard DLL injection method, since it has no separate configuration or command line arguments of its own. It has been tested on a recent build of Windows 11 and includes internal limits to stop it from running away on unusually large handlers. The project is released under the MIT license.

Copy-paste prompts

Prompt 1
Explain how vectored exception handlers work and why malware analysts care about them.
Prompt 2
Walk me through building veh-dumper in Visual Studio 2022 with the v143 toolset.
Prompt 3
Show me how to inject this DLL into a target process to dump its VEH list.
Prompt 4
Help me open a dumped handler dump.dll file in IDA and interpret the resolved imports.
Prompt 5
Explain the BFS depth and byte size limits in dumper.hpp and when I'd need to raise them.

Frequently asked questions

What is veh-dumper?

A Windows DLL that extracts each vectored exception handler from a running program and repackages it as a standalone file that opens directly in IDA for reverse engineering.

What language is veh-dumper written in?

Mainly C++. The stack also includes C++, Windows, IDA Pro.

How hard is veh-dumper to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is veh-dumper for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.