Simply parse and print metadata from an executable binary's header from the command-line.
Table of Contents
This was more of a research experiment than anything else.
executable-metadata is a command-line application and NodeJS module for parsing metadata from the headers of Unix ELF and Windows PE formatted executable binaries. Really, making this was just an excuse for me to learn the formats but it does work and it may be useful if you ever find yourself specifically needing high-level information on executeables in a strictly NodeJS environment: as unlikely as that may be. It returns parsed metadata in a simple JSON object so it can easily be converted or formatted however you need. When doing things outside of a pure NodeJS is acceptable, you may be better off using an existing command-line tool for parsing executable files; for example, readelf can tell you far more about a given ELF than this can.
To use it as a dependency in a NodeJS project, run:
npm install --save executable-metadata
To use it as a global command-line app, run:
npm install --global executable-metadata
To use the command-line interface:
[npx] executable-metadata [options] binary_files ...
Remember to prepend
npx to the command when you haven't installed it globally.
executable-metadata Simply parse and print metadata from an executable binary's header from the command-line. Options -h, --help Writes this help text to STDOUT. -v, --verbose Verbose output to STDERR. -V, --version Writes version information to STDOUT. -x, --no-quick-exit Don't immediately exit after printing help, version, and/or config information. -I, --input string The path to the file(s) to read input from. -o, --stdout Write output to STDOUT. -O, --output string The name of the file to write output to. -p, --pasteboard [Reserved] Copy output to pasteboard (clipboard). -c, --config Print search paths and configuration values to STDOUT.
const ExecutableMetadata = require('executable-metadata');
See API.md for full API.
Changes are tracked in CHANGELOG.md.
MIT ©2021 Anadian
SEE LICENSE IN LICENSE
This project's documentation is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.