Hxd Plugins -
A "Carver" plugin could implement the IHDxView interface. As the user scrolls through a raw disk image, the plugin asynchronously parses headers and populates a side-panel with a tree structure of recoverable files (PNGs, PDFs, ZIPs), offering a "Recover" context menu action.
In the world of low-level data manipulation, the hex editor remains an indispensable tool. Among them, HXD (developed by Maël Hörz) stands out as a lightweight, fast, and remarkably capable freeware hex editor for Windows. For over a decade, reverse engineers, forensic analysts, game hackers, and firmware developers have relied on HXD for tasks ranging from simple byte tweaks to complex disk editing.
But what transforms HXD from a simple byte viewer into a powerful automation platform? The answer lies in its often-underestimated plugin system.
Convert selected bytes to/from base64, hex string, binary string, or even floating-point representations (single/double). Ideal for extracting embedded data. hxd plugins
HxD’s plugin system is C/C++ friendly. A plugin must export a function with a specific signature:
__declspec(dllexport) int __cdecl HxDMenuClick(
HWND hParentWnd,
unsigned char* pData,
unsigned __int64 qwDataSize,
unsigned __int64 qwCurrentOffset
);
When the user clicks the menu item added by the plugin, HxD calls this function.
If you work with reverse engineering, game modding, or data recovery, HxD is likely your go-to tool. But many users don't realize that HxD isn't just a static viewer. While it doesn’t support standard DLL plugins, it offers powerful extensibility through Structure Definitions and External Tool integration. A "Carver" plugin could implement the IHDxView interface
Here is everything you need to know about extending HxD’s functionality.
By default, HxD looks for plugins in a subfolder named Plugins inside the HxD installation directory:
C:\Program Files\HxD\Plugins\
If the folder doesn't exist, you can create it manually. When the user clicks the menu item added
In the context of HxD, a plugin is a dynamic-link library (DLL) that implements a specific interface defined by HxD. Once placed in the correct directory, HxD loads the plugin at startup and integrates its features into the main menu (usually under Extras).
Plugins can:
HxD does not have a built-in scripting language; instead, it relies on compiled plugins for performance and deep integration.
Since HxD does not have an API, you can use Windows message hooks or UI automation (via AutoIt or Win32 API) to: