libpe
Nim wrapper for libpe library
Wraps a native library — check OS Compatibility below for platform-specific linking notes.
Summary
| Latest Version | Unknown |
|---|---|
| License | GPL-3.0 |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:25 |
Tags
Installation
nimble install libpe
choosenim install libpe
git clone https://github.com/srozb/nim-libpe
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| libpe | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/srozb/nim-libpe |
|---|---|
| Homepage | https://github.com/srozb/nim-libpe |
| Registry Source | nimble_official |
README
nim-libpe
Nim rewrite of merces/libpe PE library.
This library is used by my PE multitool Peni.
Usage
Minimal working example based on the original one from Author's GH readme, would be:
import libpe
import libpe/pe
import libpe/error
var ctx: pe_ctx_t
assert pe_load_file(addr ctx, "path_to_file".cstring) == LIBPE_E_OK
assert pe_parse(addr ctx) == LIBPE_E_OK
assert pe_is_pe(addr ctx)
echo $ctx.pe.entrypoint
For more info consult the test file.