WRESTOOL(1)
π WRESTOOL(1) π
okay so bestie, welcome to wrestool, section 1 of the General Commands Manual β the girlies' guide to digging resources out of Windows binaries. pull up a chair, grab a boba, we're doing this π
β¨ NAME β¨
wrestool β extract resources from Microsoft Windows(R) binaries π¦
πΈ SYNOPSIS πΈ
wrestool [OPTIONS]... [FILE]...
π DESCRIPTION π
so this manual page documents wrestool briefly, no cap. it was written for the Debian GNU distribution because the original program literally does not have a manual page β not me being the one to finally write it up π
wrestool reads 16- or 32-bit Microsoft Windows(R) binaries and either lists or extracts the resources inside them. some resources need a lil glow-up before they can be written to files β and wrestool can absolutely do that for icon and cursor resources. main character energy fr.
filters, which you pass as command line options, control what resources get extracted. vibe check on your resources, basically β¨
π OPTIONS π
these programs follow the usual GNU command line syntax, with long options starting with two dashes (-).
-x,--extractβ extract resources. (by default, resources get extracted to standard out if--outputwas not specified.) get them out of there bestie π-l,--listβ output a list of resources. this is the default, she's the baseline π-t,--type=[+|-]IDβ resource type identifier of the affected resources. if it's preceded with a dash (-), the id must be numeric; if it's preceded with a plus sign (+), the id must be a string. the type ID may also be the name of a resource type. (if that's the case, a leading dash or plus sign may not be included.) a list of resource types lives in theResource Typessection, go look π-n,--name=[+|-]IDβ resource name identifier of the affected resources. like the--typeoption, a leading dash or plus sign controls the datatype of the id. same rules, different field π«-L,--language=[+|-]IDβ resource language identifier. has no effect when processing 16-bit libraries. (she simply does not apply there π)-a,--allβ perform the operation on all resources. this is the default π«Ά-o,--output=PATHβ where to place extracted resources. ifPATHdoes not refer to an existing directory, and does not end with a slash (/), all output will be written to the filePATH. (this means that if you extract multiple resources, PATH will contain the last resource only.) yes literally just the last one, she's not keeping receipts π-R,--rawβ do not parse resource contents β extract raw data. (this option will probably be replaced with--format=rawin a future version of icoutils.)-v,--verboseβ explain what is being done. the verbose option may be specified more than once, like-vv, to makewrestooleven more verbose. she will literally tell you everything π₯--helpβ display a help message and exit.--versionβ output version information and exit.
π¦ RESOURCE TYPES π¦
the wrestool program recognizes the resource types listed below. the ids of these resources are always numeric and not strings. periodt.
- cursor (1) β a single cursor bitmap image. read as part of
group_cursorresources. - bitmap (2) β a bitmap image.
- icon (3) β a single icon bitmap image. read as part of
group_iconresources. this resource is similar tocursorresources; cursors contain four additional bytes of hotspot coordinates. - menu (4) β resources for menus (in popup and menubars). currently
wrestooldoes not support this resource type. - dialog (5) β definitions (widgets with locations) for dialog boxes. currently
wrestooldoes not support this resource type. - string (6) β the string table resource, containing a number of unicode strings. currently
wrestooldoes not support this resource type. - fontdir (7) β the font directory, containing information on a number of font resources (8). non-TTF font (.FON) files are actually libraries with resources in them. currently
wrestooldoes not support this resource type. - font (8) β a single font β the contents of a .FNT file. read as part of
fontdirresources. currentlywrestooldoes not support this resource type. - accelerator (9) β keyboard accelerator tables. currently
wrestooldoes not support this resource type. - rcdata (10) β arbitrary resource data, user-defined. there are no restrictions to the format of these resources. free range, go feral π
- messagelist (11) β not supported. π
- group_cursor (12) β a set of cursors. with a few modifications (and with
cursorresources), this resource can be extracted as a .CUR file. - group_icon (14) β a set of icons. with a few modifications (and with
iconresources), this resource can be extracted as a .ICO file. this is the moment β¨ - version (16) β version information, stored as binary data. could be extracted without modifications, but the data is of probably little use. currently
wrestooldoes not support this resource type. - dlginclude (17) β not supported.
- plugplay (19) β not supported.
- vxd (20) β not supported.
- anicursor (21) β animated cursors. currently
wrestooldoes not support animated cursor or icons, nor doesicotool. - aniicon (22) β animated icons. i have only seen these in Windows(R) 3.x. currently
wrestooldoes not support animated cursor or icons, nor doesicotool.
heads up bestie: a whole bunch of these are lowkey just "not supported" and that's on purpose, not a bug. don't come for me π«Ά
π EXAMPLES π
list all resources in file write.exe:
$ wrestool -l write.exe
--type=3 --name=1 --lang=1033 [type=icon offset=0x3120 size=752]
--type=3 --name=2 --lang=1033 [type=icon offset=0x3410 size=304]
--type=14 --name=1 --lang=1033 [type=group_icon offset=0x3540 size=34]
--type=16 --name=1 --lang=1033 [type=version offset=0x3564 size=808]
list all (group-) icon resource in file write.exe:
$ wrestool -l --type=group_icon write.exe
--type=14 --name=1 --lang=1033 [type=group_icon offset=0x3540 size=34]
extract all icons to the current directory, naming the destination files write.exe_T_N.ico:
$ wrestool -x --output=. -t14 write.exe
$ ls *.ico
write.exe_14_1.ico
π SEE ALSO π
extresso(1), genresscript(1), icotool(1).
π§ AUTHOR π§
this manual page was written by Colin Watson <cjwatson@debian.org> for the Debian GNU system (but may be used by others). it was later modified by Oskar Liljeblad <oskar@osk.mine.nu>. shoutout to the icons who wrote the docs π«Ά
π COPYRIGHT π
Copyright Β© 2001 Colin Watson
Copyright Β© 2001 Oskar Liljeblad
this is free software; see the source for copying conditions. there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
say it with me: NO WARRANTY. not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. she is giving everything and promising nothing π
β TRADEMARKS β
Windows is a registered trademark of Microsoft Corporation in the United States and other countries.
okay that's the whole page bestie, you ate that π this was wrestool (icoutils) β and the page is dated April 18, 2005, so yeah she's vintage and still iconic for it πβ¨ mwah, go extract something π₯
π¦ where this page comes from
- alpine 3.24: icoutils-doc 0.32.3-r4 Β· GPL-3.0-or-later
- arch rolling: icoutils 0.32.3-4 Β· GPL-3.0-or-later
- centos-stream 10: icoutils 0.32.3-18.el10 Β· GPL-2.0-or-later AND GPL-3.0-or-later
- centos-stream 9: icoutils 0.32.3-10.el9 Β· GPLv3+
- debian bookworm: icoutils 0.32.3-4 Β· GPL-3.0-or-later
- debian trixie: icoutils 0.32.3-6 Β· GPL-3.0-or-later
- fedora 43: icoutils 0.32.3-19.fc43 Β· GPL-2.0-or-later AND GPL-3.0-or-later
- fedora 44: icoutils 0.32.3-20.fc44 Β· GPL-2.0-or-later AND GPL-3.0-or-later
- nixos 26.05: icoutils 0.32.3
- nixpkgs unstable: icoutils 0.32.3
- opensuse-leap 16.0: icoutils 0.32.3-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: icoutils 0.32.3-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: icoutils 0.32.3-160000.2.2 Β· GPL-3.0-or-later
- opensuse-leap 16.0: icoutils 0.32.3-160000.2.2 Β· GPL-3.0-or-later
- ubuntu jammy: icoutils 0.32.3-4 Β· GPL-3.0-or-later
- ubuntu noble: icoutils 0.32.3-4build2 Β· GPL-3.0-or-later
- ubuntu questing: icoutils 0.32.3-6
- ubuntu resolute: icoutils 0.32.3-6build1 Β· GPL-3.0-or-later
- ubuntu stonking: icoutils 0.32.3-6build1 Β· GPL-3.0-or-later
- Copyright (C) 2001 Colin Watson
- Copyright (C) 2001 Oskar Liljeblad
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms