#edit #instrument #transform

bin+lib wasm-edit

Edit and instrument already compiled Wasm binaries

7 releases

0.1.7 May 27, 2023
0.1.6 Jan 24, 2023
0.1.5 Dec 13, 2022
0.1.3 Nov 15, 2022

#1037 in WebAssembly

Download history 1/week @ 2024-02-04 4/week @ 2024-02-11 71/week @ 2024-02-25 6/week @ 2024-03-10 2/week @ 2024-03-17 17/week @ 2024-03-24 100/week @ 2024-03-31

125 downloads per month

MIT license

12KB
218 lines

wasm-edit

Edit and instrument already compiled Wasm binaries

Coredump generation

Moved to https://github.com/xtuc/wasm-coredump.

Install

cargo install wasm-edit

Edit the main memory

Change the initial memory amount (in pages):

wasm-edit edit-memory --initial-memory=1000 < input.wasm > output.wasm

Trace calls to memory.grow

Trace calls to the memory.grow instruction:

wasm-edit instrument-memory < input.wasm > output.wasm

Requires Wasi, but doesn't require any change on the host. Tested with Rust and theoretically working with C/C++ (clang).

Running into stack overflow

Some Wasm binaries have very recursive flow of control, increase the maximum stack size:

$ ulimit -s 160000

Dependencies

~5–16MB
~181K SLoC