These IDA Pro plugins add support for loading and disassembling WebAssembly modules.
This version has been forked from fireeye/idawasm to enhance some features.
- IDA 7.6 support
- add Python 3 type annotations (partially for now)
- support
if
,else
,br_table
operations
Features:
- control flow reconstruction and graph mode
- code and data cross references
- globals, function parameters, local variables, etc. can be renamed
- auto-comment hint support
There are three steps to install this loader and processor:
- install the python module:
python.exe setup.py install
- manually install the WebAssembly file loader:
mv loaders\wasm_loader.py %IDADIR%\loaders\wasm_loader.py
- 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.
IDA 7.6 and Python 3.9 or later
- name locations
- mark data xref to memory load/store
- mark xref to imports
- compute stack deltas
- add entry point for start function (need to see an example)
fireeye/idawasm - Original version of this repository.
This project relies on the athre0z/wasm WebAssembly decoder and disassembler library for Python.
- Willi Ballenthin (original author of idawasm)
- Takumi Akiyama