- Rust 92.5%
- C 5.8%
- Shell 1.2%
- Nix 0.5%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| include | ||
| media | ||
| src | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Cargo.lock | ||
| Cargo.toml | ||
| default.nix | ||
| LICENSE | ||
| PKGBUILD | ||
| README.md | ||
UniLDD is designed to bring parsing objects to any language (has a C FFI library).
⭐️ Features:
- Detailed information! Some of them are:
- Parses without loading objects. Therefore, you can even parse shady objects like malwares3
- Error codes and explanations to make error handling easier.
- A Basic and built-in logger to get real-time information.
Installation
Automated Installation
Using default.nix
Installation
If Nix Package Manager is available in the system, you can use default.nix.
-
Clone the git repository
git clone https://git.fnpl.rocks/nix-enthusiast/unildd.git -
Go into
unildddirectorycd result -
Build the package
nix-build default.nix -
Go into
resultdirectorycd result -
The library and the header file will be under the directory named
libandincluderespectively$ ls result/* result/include: unildd.h result/lib: libunildd.a libunildd.so $ -
Then, you can delete the build dependencies with
nix-collect-garbage
Using PKGBUILD
If your platform is Arch Linux, you can use PKGBUILD
Requirements
base-develpackage (Installable viapacman -S base-devel.)
Installation
-
Clone the git repository
git clone https://git.fnpl.rocks/nix-enthusiast/unildd.git -
Go into directory
unilddcd unildd -
Build and install the package
makepkg -si -
The library and the header will be in
/usr/liband/usr/includedirectories, respectively.
Manual Installation
Installation process is shown under a Linux system. Different platforms may implement their own naming scheme for libraries.
For common platforms:
| Platform Name | Static Library | Import library | Dynamic Library |
|---|---|---|---|
| Windows | libunildd.a |
libunildd.dll.a |
libunildd.dll |
| macOS | libunildd.a |
- |
libunildd.dylib |
| Linux, BSDs, and Most of the Other Unix-Like Systems | libunildd.a |
- |
libunildd.so |
Using Tarballs
Currently UniLDD provides prebuilt tarballs for
- Linux (
x86_64/aarch64-glibc/musl)4 - Windows (
x86_64/aarch64) - macOS (
x86_64/aarch64)
If your platform is in this list, continue to the other step. For the rest, please continue from From Source Code
-
Install the latest build from the releases section.
-
Extract the downloaded tar file
# Version 1.0.0 is used as an example, change it with version of yours if necessary tar -xvf unildd-1.0.0-aarch64-unknown-linux-gnu.tar.gz -
The library and the header files will be extracted to the current directory
From Source Code
Basically:
-
Clone the git repository:
git clone https://git.fnpl.rocks/nix-enthusiast/unildd.git -
Go into the git repository:
cd unildd -
Compile build with cargo:
cargo build --release -
Put the output files to desired destination:
cp target/release/{libunildd.so,libunildd.a} /my/amazing/project/ -
Also do not forget to copy the header file:
cp header/unildd.h /my/amazing/project/
License
This library is licensed under BSD-3 Clause License
The resources used to make this library are cited as comments in the respective source files which they were used.
🎉 Thanks to:
-
CPU subtype is a macOS-only feature which tells what kind of CPU model the code is optimized for. ↩︎
-
It has some caveats. See the wiki (currently work-in-progress) for further details. ↩︎
-
That doesn't mean I am liable for any damages done by this project and files you parsed. Take your own risk! ↩︎
-
muslversion of the library is statically compiled version of UniLDD library with Musl Libc ↩︎
