Template for third-party FIRI Unlocker modules - small C++ programs that get embedded inside FIRI Unlocker and run in-memory (no extra files, no registry, works in Safe Mode / WinPE / WinRE).
- A normal x64 PE DLL image compiled against
module_api.h, delivered as a.firiumodulefile. - It carries a
FIRIMETART_RCDATA resource with aFiriMetaBindescriptor (id,name,version,author, labels, declared capabilities/flags), written bygenmeta. - FIRI embeds the whole file as a
FIRIMOD-<id>resource inside FIRI Unlocker and executes it in-memory with its own PE mapper - no installation, no files left on disk.
Prerequisite: MinGW-w64 toolchain (w64devkit). Edit W64DK= in build.bat
to point at your installation, then:
build.bat
Output: hello.firiumodule.
Inside FIRI Unlocker:
- Modules menu ->
a(add module) -> enter the path, or - CLI:
firiu.exe module-add hello.firiumodule
FIRI scans the import table, compares it with the declared capabilities and warns about dangerous access (registry, files, network, ...). The module then appears in the Modules menu where its panel shows name/version/author/labels, a clickable GitHub link, and the buttons it registered.
- Edit
template.cpp- register buttons/tabs/labels inFiriModuleEntry, add functionality. - Edit
module-meta.txt(id,name,version,author,label: ... = ...,caps: ...,flag: ...). - Rebuild with
build.bat.
extern "C" int FiriModuleEntry(const FiriApi* api); // required
extern "C" int FiriModuleRun(const FiriApi* api); // optional, "run" actionFiriApi provides output, yes/no prompts, capturing any built-in FIRI
Unlocker command (RunCapture), SysInfo, screen control, and registration
calls
(AddTab, AddButton, AddLabel) that are valid while FiriModuleEntry
executes. Fields are fixed and do not reorder; keep module_api.h in sync
with the firi_api.h shipped inside FIRI Unlocker.
Declare what your module touches in module-meta.txt (caps:), e.g.
file, registry. The host shows a warning on add unless Developer Mode is
enabled. Do not lie - the import table is checked.
FIRI Project License (see LICENSE).