peres
Tool
tools/pe/peres.py(program, Windows PE). List and extract the resources inside a Windows executable or DLL: version information, string tables, dialogs, menus, icons, bitmaps, sounds and the game's own data.
Run it with ./gameframe run peres ARGS or python3 tools/pe/peres.py. Source on GitHub.
Its own help
This is the help text in the tool itself, as ./gameframe tool peres prints it.
text
List and extract the resources inside a Windows executable or DLL: version information,
string tables, dialogs, menus, icons, bitmaps, sounds and the game's own data.
Usage: peres.py BINARY [--version] [--strings] [--extract DIR] [--json]
(no option) every resource: type, name, language, size, and the version information
--version only the version information (company, product, version, original name)
--strings every string in the string tables, with its id
--extract DIR write each resource to DIR/TYPE/NAME_LANG.EXT; bitmaps get a BMP file header
so they open as pictures
Windows games keep more in their resources than icons. The version information names the
product, the company and the build; the original file name and the version number date and
identify a release. String tables hold interface text and error messages, often with ids the
code passes to LoadString (search the export for the id). Dialogs and menus are the game's
standard windows: the launcher, the options. RCDATA and custom types hold whatever the
developer packed in: levels, palettes, scripts, sounds. A 16-bit NE program has resources too:
use tools/dos/dosinfo.py for those.
Extracted resources are game material: write them into derived/. Needs pefile (.venv).Named by
Skills: re-inventory.