file-unpumper
is a powerful command-line utility designed to clean and analyze Portable Executable (PE) files. It provides a range of features to help developers and security professionals work with PE files more effectively.
Features
-
PE Header Fixing:
file-unpumper
can fix and align the PE headers of a given executable file. This is particularly useful for resolving issues caused by packers or obfuscators that modify the headers. -
Resource Extraction: The tool can extract embedded resources from a PE file, such as icons, bitmaps, or other data resources. This can be helpful for reverse engineering or analyzing the contents of an executable.
-
Metadata Analysis:
file-unpumper
provides a comprehensive analysis of the PE file's metadata, including information about the machine architecture, number of sections, timestamp, subsystem, image base, and section details. -
File Cleaning: The core functionality of
file-unpumper
is to remove any "pumped" or padded data from a PE file, resulting in a cleaned version of the executable. This can aid in malware analysis, reverse engineering, or simply reducing the file size. -
Parallel Processing: To ensure efficient performance,
file-unpumper
leverages the power of parallel processing using therayon
crate, allowing it to handle large files with ease. -
Progress Tracking: During the file cleaning process, a progress bar is displayed, providing a visual indication of the operation's progress and estimated time remaining.
Installation
file-unpumper
is written in Rust and can be easily installed using the Cargo package manager:
cargo install file-unpumper
Usage
<INPUT>
: The path to the input PE file.
Options
--fix-headers
: Fix and align the PE headers of the input file.--extract-resources
: Extract embedded resources from the input file.--analyze-metadata
: Analyze and display the PE file's metadata.-h, --help
: Print help information.-V, --version
: Print version information.
Examples
- Clean a PE file and remove any "pumped" data:
bash file-unpumper path/to/input.exe
- Fix the PE headers and analyze the metadata of a file:
bash file-unpumper --fix-headers --analyze-metadata path/to/input.exe
- Extract resources from a PE file:
bash file-unpumper --extract-resources path/to/input.exe
- Perform all available operations on a file:
bash file-unpumper --fix-headers --extract-resources --analyze-metadata path/to/input.exe
Contributing
Contributions to file-unpumper
are welcome! If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.
Changelog
The latest changelogs can be found in CHANGELOG.md
License
file-unpumper
is released under the MIT License.