WebAssembly / WebAssembly/binaryen

How to traverse memory segments and get their data?

Open
#6,491 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
8.6k
Forks
885
Avg merge
1d 19h
Merged PRs (30d)
69

Description

I'm using binary-c API. I need to read modules from arbitrary binaries and do some analysis on them, including analyzing their data sections.

I find BinaryenCopyMemorySegmentData(BinaryenModuleRef module, const char* segmentName, char* buffer), but this requires segmentName, which I can't determine for an arbitrary binary. I don't find any API like BinaryenGetMemorySegmentByIndex or BinaryenMemorySegmentGetName just like those for functions.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the binary-C API entry point BinaryenCopyMemorySegmentData and compare it with the existing function traversal and lookup APIs mentioned in the issue. Determine whether memory segments can be enumerated and identified for arbitrary binaries, then document the supported access path or define the missing API behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, wasm
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.