Skip to content

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.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.