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

  1. README.md GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  2. pyproject.toml GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  3. LICENSE GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  4. src/wasmlens/cli/main.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  5. src/wasmlens/parser/module.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  6. src/wasmlens/parser/section_parser.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  7. src/wasmlens/parser/opcodes.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  8. src/wasmlens/disassembler/wat_formatter.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  9. src/wasmlens/decompiler/reconstructor.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  10. src/wasmlens/decompiler/ast.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  11. src/wasmlens/emulator/vm.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  12. tests/test_decompiler.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc
  13. tests/test_parser.py GitHub · alexandrmotologa/wasmlens · Revision 2351ccc