Home

Awesome

idawasm

These IDA Pro plugins add support for loading and disassembling WebAssembly modules.

Features:

recognizes WebAssembly modules

load-wasm

reconstructs control flow

graph-mode

parses and renders types

render-prototype

extracts code and data cross references

drefs

detect function frame layout (for LLVM-compiled binaries)

drefs

installation

There are three steps to install this loader and processor:

  1. install the python module:
    python.exe setup.py install
  1. manually install the WebAssembly file loader:
    mv loaders\wasm_loader.py %IDADIR%\loaders\wasm_loader.py
  1. manually install the WebAssembly processor:
    mv procs\wasm_proc.py %IDADIR%\procs\wasm_proc.py

Whenever you update this project, you'll need to update the python module, but shouldn't have to touch the loader and processor files.

This plugin was developed against IDA 7.1, but probably works with IDA 7.0+.

acknowledgements

This project relies on the athre0z/wasm WebAssembly decoder and disassembler library for Python.