#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

#679 in WebAssembly

Download history 5/week @ 2024-03-13 16/week @ 2024-03-20 12/week @ 2024-03-27 18/week @ 2024-04-03 13/week @ 2024-04-10 77/week @ 2024-04-17 65/week @ 2024-04-24 9/week @ 2024-05-01 3/week @ 2024-05-08

63 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–15MB
~173K SLoC