Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jedisct1/wasmonkey

The WASMonkey magically turns exported WASM functions into imported functions.
https://github.com/jedisct1/wasmonkey

rust wasm

Last synced: 18 days ago
JSON representation

The WASMonkey magically turns exported WASM functions into imported functions.

Awesome Lists containing this project

README

        

# WASMonkey

The WASMonkey patches a WASM object file to replace a set of exported
functions with imported functions from another library.

## Usage

```text
USAGE:
wasmonkey [FLAGS] [OPTIONS] --input --output

FLAGS:
-n, --original-names Use the original name as a key in the builtins map
-h, --help Prints help information
-V, --version Prints version information

OPTIONS:
-B, --builtins-additional ... Additional builtins function names to replace
-b, --builtins Path to the builtins library
-m, --builtins-map Path to the builtins map file
-i, --input Path to the input file
-o, --output Path to the output file
```

`builtins_file` is an object containing alternative implementations to
functions called in the wasm code.

Symbols starting with a `builtin_` prefix will be used for substitution.

For example, a `memmove()` function defined as an external in the WASM
object will be replaced by calls to an imported `builtin_memmove()`
function, if `builtin_memmove()` is present in the builtins file.

A JSON-encoded map of the performed substitutions can be optionally written
into `builtins_map_file`.