Tool
WasmLens: exploratory WebAssembly inspection
Python CLI with static paths for inspecting WebAssembly sections and function signatures, producing WAT-style instruction listings, and reconstructing limited C-like pseudocode. These are exploratory analysis aids for supported modules, not recovered original source or a complete WebAssembly runtime.
Requirements and limitations
- The reviewed package declares version 0.1.0 and Python >=3.10, with Typer, Rich, FastAPI, Uvicorn, Pydantic, NetworkX and python-multipart dependencies; pytest/httpx are development extras. The source includes an MIT LICENSE. Dependency lower bounds are declared, but no lockfile or tested environment was established.
- The info, disasm and decompile commands read a supplied .wasm file through the same parser. That parser has no 0xFD SIMD decoding branch and may label unsupported opcodes as unknown; the README’s broad WebAssembly 2.0 coverage claim is not established by this review.
- The WAT-style module listing is not a lossless reassembly format: data segments are reduced to previews of up to 32 bytes and active offsets use a placeholder. The C-like reconstructor has no general fallback for unhandled instructions, uses only the first result type, and expresses branch labels in comments; compiler-ready or behavior-equivalent output is not established.
- The separate emulator is outside this entry’s supported scope. Its inspected dispatch lacks handlers for operations including floating-point arithmetic and indirect calls, and an unhandled instruction can advance the program counter without implementing its effect. Do not use it as a full-runtime or equivalence reference.
- Parser and decompiler test definitions were inspected; sample-based string assertions do not establish general correctness. No package installation, bundled .wasm download, execution, decompilation or test run was performed, and the README’s test-count/coverage badges were not independently reproduced. Supply only modules you are permitted to analyze.
About this entry
- Type
- Tool
- Category
- WebAssembly tools
- Relationship
- Foundation tool
- Targets
- Binary
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- pyproject.toml GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- LICENSE GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/cli/main.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/parser/module.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/parser/section_parser.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/parser/opcodes.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/disassembler/wat_formatter.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/decompiler/reconstructor.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/decompiler/ast.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- src/wasmlens/emulator/vm.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- tests/test_decompiler.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
- tests/test_parser.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc