Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pgaskin/qrc
Go library and command-line tool to extract/decompile Qt resources from Qt resource (rcc) files and executables.
https://github.com/pgaskin/qrc
binary cli extract library qt qt5 rcc resources reverse-engineering
Last synced: 16 days ago
JSON representation
Go library and command-line tool to extract/decompile Qt resources from Qt resource (rcc) files and executables.
- Host: GitHub
- URL: https://github.com/pgaskin/qrc
- Owner: pgaskin
- License: mit
- Created: 2020-08-13T23:09:56.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-12-29T07:50:06.000Z (11 months ago)
- Last Synced: 2024-06-20T05:21:31.847Z (5 months ago)
- Topics: binary, cli, extract, library, qt, qt5, rcc, resources, reverse-engineering
- Language: Go
- Homepage:
- Size: 51.8 KB
- Stars: 27
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# qrc
[![Build Status](https://cloud.drone.io/api/badges/pgaskin/qrc/status.svg)](https://cloud.drone.io/pgaskin/qrc) [![PkgGoDev](https://pkg.go.dev/badge/github.com/pgaskin/qrc)](https://pkg.go.dev/github.com/pgaskin/qrc) ![GitHub Tag](https://img.shields.io/github/v/tag/pgaskin/qrc)
Go library and command-line tool to extract Qt resources from RCC files and executables.
This package supports resource formats 1-3 and includes language/country code information from Qt 5.13. Resources can be compressed using zlib or zstd.
See [pkg.go.dev/github.com/pgaskin/qrc](https://pkg.go.dev/github.com/pgaskin/qrc) for the Go library documentation.
The command-line tool, [qrc2zip](./qrc2zip), can be installed with `GO111MODULE=on go get github.com/pgaskin/qrc/cmd/qrc2zip`.
To automatically find offsets for ARM binaries with Qt resources embedded by rcc, use `scripts/armqrc.py`.
```
Usage: qrc2zip [options] rcc_file
qrc2zip [options] executable format_version tree_offset data_offset names_offsetOptions:
-o, --output string Output filename (default "resources.zip")
-f, --force Ignore errors during extraction if possible
-r, --recursive Expand nested RCC files
-e, --exclude stringArray Exclude files matching this glob (can be specified multiple times)
-v, --verbose Show information about the files being extracted
-h, --help Show this help textExecutable offsets:
To find executable offsets and format version, look for calls to qRegisterResourceData. These
are usually within entry points or qInitResource* functions. qRegisterResourceData takes four
arguments: format, tree, names, data.Qt support:
Format versions 1-3 are supported, along with locale/country codes from Qt 5.13. Resources
can be compressed with zlib or zstd.Output:
The extracted resources are written to a zip file. The directory structure is preserved and
separated with forward slashes on all platforms. If the file has language/country constraints,
they are added to the filename before the extension in the format '[language!LanguageName]'
and [country!CountryName]. If the Qt resource format is >= 2, the modification time is also
written for each file.github.com/pgaskin/qrc
```