Skip to content
IDA Pro loader and processor modules for WebAssembly
Branch: master
Clone or download
Willi Ballenthin
Willi Ballenthin emu: add XOR operation
Latest commit 51cb56d Oct 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
idawasm processor: better handle missing globals Oct 4, 2018
img readme: update doc Sep 27, 2018
loaders readme: update doc Sep 27, 2018
procs readme: update doc Sep 27, 2018
scripts emu: add XOR operation Oct 4, 2018
.flake8 fix flake8 issues Sep 24, 2018
.gitignore Initial commit Sep 21, 2018
LICENSE.txt add license Sep 24, 2018
readme.md readme: update doc Sep 27, 2018
setup.py processor: index function, globals in netnodes for downstream analysis Sep 27, 2018

readme.md

idawasm

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

Features:

  • control flow reconstruction and graph mode
  • code and data cross references
  • globals, function parameters, local variables, etc. can be renamed
  • auto-comment hint suport

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.

You can’t perform that action at this time.