A small, friendly Nim wrapper around libewf (Expert Witness Format). It exposes a minimal, ergonomic API for creating and verifying EWF images. This library also serves as a foundation for building a static, self‑contained “ewfacquire‑like” executable to aid DFIR engagements where quick, scriptable imaging is essential.
- Links against system
libewfvia pkg-config.
- macOS:
brew install libewf openssl@3 pkg-config - Ubuntu:
sudo apt-get install -y libewf-dev libssl-dev pkg-config
nimble test
import nimewf
echo "libewf: ", getVersion()
var h = newHandle()
if h != nil:
discard freeHandle(h)- Minimal sanity check:
examples/minimal_client.nim - Create from bytes:
examples/create_from_bytes.nim - Create from file:
examples/create_from_file.nim - Verify image:
examples/verify_image.nim
- Build docs:
nim doc src/nimewf.nim - Building and environment notes:
docs/BUILDING.md - Roadmap / wrapped vs planned APIs:
docs/TODO.md
- Keep it simple: minimal, focused API that does exactly what it needs.
- Avoid unnecessary complexity: straightforward wrappers and typed options.
- Tests first: unit tests for lifecycle, options, metadata, write/verify.
MIT