Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jlu5/icoextract
Extract icons from Windows PE files (.exe/.dll)
https://github.com/jlu5/icoextract
extract ico icon icons windows
Last synced: 2 days ago
JSON representation
Extract icons from Windows PE files (.exe/.dll)
- Host: GitHub
- URL: https://github.com/jlu5/icoextract
- Owner: jlu5
- License: mit
- Created: 2019-10-14T05:09:48.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-08-23T02:47:42.000Z (4 months ago)
- Last Synced: 2024-12-13T12:12:07.314Z (9 days ago)
- Topics: extract, ico, icon, icons, windows
- Language: Python
- Homepage: https://projects.jlu5.com/icoextract.html
- Size: 104 KB
- Stars: 113
- Watchers: 6
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# icoextract
[![Build Status](https://drone.overdrivenetworks.com/api/badges/jlu5/icoextract/status.svg)](https://drone.overdrivenetworks.com/jlu5/icoextract)
**icoextract** is an icon extractor for Windows PE files (.exe/.dll/.mun), written in Python. It also includes a thumbnailer script (`exe-thumbnailer`) for Linux desktops.
This project is inspired by [extract-icon-py](https://github.com/firodj/extract-icon-py), [icoutils](https://www.nongnu.org/icoutils/), and others.
icoextract aims to be:
- Lightweight
- Portable (cross-platform)
- Fast on large files## Installation
### Installing from source
You can install the project via pip: `pip3 install icoextract[thumbnailer]`
On Linux, you can activate the thumbnailer by copying [`exe-thumbnailer.thumbnailer`](/exe-thumbnailer.thumbnailer) into the thumbnailers directory:
- `/usr/local/share/thumbnailers/` if you installed `icoextract` globally
- `~/.local/share/thumbnailers` if you installed `icoextract` for your user onlyThe thumbnailer should work with any file manager that implements the [Freedesktop Thumbnails Standard](https://specifications.freedesktop.org/thumbnail-spec/thumbnail-spec-latest.html): this includes Nautilus, Caja, Nemo, Thunar (when Tumbler is installed), and PCManFM. KDE / Dolphin uses a different architecture and is *not* supported here.
### Distribution packages
You can install icoextract from any of these distribution repositories:
[![Packaging status](https://repology.org/badge/vertical-allrepos/icoextract.svg)](https://repology.org/project/icoextract/versions)
## Usage
icoextract ships `icoextract` and `icolist` scripts to extract and list icon resources inside a file.
**Note**: recent versions of Windows (Windows 10 1903+) have moved icons from system libraries (`shell32.dll`, etc.) into a new [`C:\Windows\SystemResources`](https://superuser.com/questions/1480268/) folder. icoextract can extract these `.mun` files natively, but the `.dll`s themselves no longer contain icons.
For API docs, see https://projects.jlu5.com/icoextract.html
```
usage: icoextract [-h] [-V] [-n NUM] [-v] input outputWindows PE EXE icon extractor.
positional arguments:
input input filename (.exe/.dll/.mun)
output output filename (.ico)options:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-n NUM, --num NUM index of icon to extract
-v, --verbose enables debug logging
``````
usage: icolist [-h] [-V] [-v] inputLists group icons present in a program.
positional arguments:
input input filenameoptions:
-h, --help show this help message and exit
-V, --version show program's version number and exit
-v, --verbose enables debug logging
```