#executable #data #command-line #resources #command-line-tool #mach-o #editres

bin+lib editres_cli

Command line tool for injecting data into executables that use editres

5 releases

0.1.6 Jan 27, 2024
0.1.5 Jan 27, 2024
0.1.4 Jan 27, 2024
0.1.2 Jan 27, 2024
0.1.1 Jan 27, 2024

#2340 in Command line utilities

34 downloads per month

MPL-2.0 license

49KB
383 lines

editres

crates.io

Embed data into executables after build.

Documentation

Supported Executable Formats

  • Windows (PE)
  • Linux (ELF)
  • macOS (Mach-O)

Quick Start

1. Declare resources using editres::resource!

use editres::resource;
use std::str::from_utf8;

# fn main() {
let res = resource!("my_res"); // Option<&'static [u8]>
if let Some(res) = res {
    println!("{}", from_utf8(res).unwrap());
} else {
    println!("my_res is not injected yet");
}
# }

2. Inject data in the executable

You can inject data in executables using library editres or command line from editres_cli.

  • Library usage:
    1. Add editres as a dependency with feature injector enabled,
    2. Refer to injector::inject.
  • Command line usage:
    1. cargo install editres_cli, or download from the releases.
    2. Get command line help using editres help inject

Notes

editres is based on Node.js' single executable application implementation: postject.

Dependencies

~53–72MB
~1.5M SLoC