The .vhb Ecosystem (Portability & Sharing)
EMU is designed for collaboration. Once you have successfully virtualized a piece of hardware, you shouldn’t have to keep it to yourself. This portability is managed through the .vhb (Virtual Hardware Behavior) file format family.
File Formats
EMU supports two project file formats, giving you control over how sensitive your shared hardware profile is.
.vhb — Plain Text (Non-Sensitive Sharing)
A .vhb file is a portable, human-readable container that holds everything required to spoof a specific piece of hardware. Use this format when sharing within a trusted environment (e.g., internal teams, version control).
It encapsulates:
- The Intercept Targets: The specific file paths (e.g.,
/dev/ttyUSB0) or network ports the Engine needs to hook. - The Hardware Specs: Your list of tracked system calls and communications to and from the hardware.
- Schema References: The structs and schemas used to map raw memory into structured data.
- The TCL Scripts: All of your custom logic and state-machine behavior associated with your Hardware Specs.
.vhbx — Encrypted (Sensitive Sharing)
A .vhbx file contains the same profile data as a .vhb file, but the contents are encoded before being written to disk. Use this format when distributing a hardware profile outside of a trusted context — for example, sharing with an external contractor, a customer, or over an untrusted channel.
When saving a project, select VHB Encrypted Project in the file dialog to produce a .vhbx file. EMU will automatically decrypt it on load.
Warning — Limited Security in Current Release
.vhbxfiles are currently encoded using Base64 only. Base64 is an encoding scheme, not true encryption — a determined party can decode the contents without a key. Do not rely on.vhbxfor strong confidentiality at this time.A future release will upgrade
.vhbxto full AES-256-GCM encryption, where files will be locked to a specific individual or team license key. Only holders of the matching license will be able to open the file. Until that upgrade ships, treat.vhbxas obfuscated rather than secure.
Choosing the Right Format
| Scenario | Recommended Format |
|---|---|
| Committing to a team Git repository | .vhb |
| Sharing with an external partner or customer | .vhbx |
| Automated CI/CD pipelines (internal infrastructure) | .vhb |
| Distributing a hardware profile publicly or externally | .vhbx |
Collaboration & Version Control
Because the .vhb file completely encapsulates the virtual hardware profile, it is perfect for modern development workflows:
Git Integration
You can commit .vhb files directly to your Git repository alongside your application source code. This ensures that the hardware environment is versioned right next to the software that depends on it.
Team Consistency
Any other developer on your team can simply download the EMU app, import your .vhb or .vhbx file, and instantly possess the exact same virtual hardware environment. This eliminates the “it works on my machine” problem caused by differing physical hardware revisions or local driver configurations.
CI/CD Ready
By bundling hardware behavior into a file, you enable automated testing environments to “plug in” virtual devices on demand, guaranteeing test consistency across your entire organization.