postject
ltools
postject | ltools | |
---|---|---|
1 | 2 | |
148 | 3 | |
6.1% | - | |
5.1 | 1.8 | |
4 months ago | over 2 years ago | |
JavaScript | Rust | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
postject
-
What's the Most Portable Way to Include Binary Blobs in an Executable?
My team is working on this problem in the context of creating Node.js single-executable applications. While the naive approach of just appending data at the end of the binary works, it is not friendly with code-signature in macOS and Windows given that signing operates on PE and Mach-O sections.
We have recently open-sourced a small tool called Postject (https://github.com/postmanlabs/postject), which is able to inject arbitrary data as proper ELF/Mach-O/PE sections for all major operating systems (with AIX support coming). The tool also provides C/C++ cross-platform headers for easily traversing the final binary and introspect whether the segment is present or not.
The tool is based on the LIEF (https://github.com/lief-project/LIEF) project.
At Postman, we are making use of this on our custom Node.js single-executable applications and soon on our custom Electron.js builds too.
ltools
-
What's the Most Portable Way to Include Binary Blobs in an Executable?
https://github.com/jochenleidner/ltools/blob/main/src/bin/bi...
What I found is that many compilers don't like to compile very large source files; so if the binaries you'd like to integrate are big, it might be better to integrate their constituent objects one by one (if applicable).
-
Show HN: C programming language extension: Cedro pre-processor
> I wish binary inclusion was provided by more languages or build systems. For small files it's a very suitable alternative to the difficulties of packaging resources when distributing an application or library.
When it occasionally comes up as a need, I use the bintosrc command available at https://github.com/jochenleidner/ltools
What are some alternatives?
shiv - shiv is a command line utility for building fully self contained Python zipapps as outlined in PEP 441, but with all their dependencies included.
cmacro - Lisp macros for C
LIEF - LIEF - Library to Instrument Executable Formats
MyDef - Programming in the next paradigm -- your way
libear - A C++11 library to render ADM content according to Recommendation ITU-R BS.2127
rage - A simple, secure and modern file encryption tool (and Rust library) with small explicit keys, no config options, and UNIX-style composability.