#windows #loading

sys memory-module-sys

Bindings to the MemoryModule library for loading libraries from memory on Windows

3 releases (breaking)

0.3.0 Mar 23, 2020
0.2.0 Mar 23, 2020
0.1.0 Feb 26, 2020

#355 in Windows APIs

Download history 2451/week @ 2025-09-30 1465/week @ 2025-10-07 1536/week @ 2025-10-14 1296/week @ 2025-10-21 1307/week @ 2025-10-28 931/week @ 2025-11-04 1412/week @ 2025-11-11 1688/week @ 2025-11-18 1374/week @ 2025-11-25 1257/week @ 2025-12-02 1081/week @ 2025-12-09 1782/week @ 2025-12-16 1212/week @ 2025-12-23 715/week @ 2025-12-30 1270/week @ 2026-01-06 1308/week @ 2026-01-13

4,691 downloads per month
Used in 2 crates (via python-oxidized-importer)

MPL-2.0 license

49KB
1K SLoC

C 1K SLoC // 0.1% comments Rust 81 SLoC // 0.1% comments

Load DLLs/EXEs from memory on Windows.

This crate declares a library interface to https://github.com/fancycode/MemoryModule.

The initial developer of the original code is Joachim Bauch. See the copyright in the vendored .c/.h files for a more detailed copyright notice.


Rust Bindings to Memory Module Library

This repository contains low-level Rust bindings to the library at https://github.com/fancycode/MemoryModule that facilitates loading Windows PE files from memory on Windows. i.e. it allows you to import a DLL/EXE from a &[u8] without requiring the library to be backed by a file.

The Rust library simply compiles the upstream library and declares extern "C" unsafe bindings to it. This being a -sys crate, that is all it will ever do: higher-level bindings would exist in a separate crate.

License

This crate is licensed under the same terms as the MemoryModule library, which is MPL 2.0.

The MemoryModule library is maintained by Joachim Bauch.

Dependencies

~0.4–450KB