Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mandiant/idawasm
IDA Pro loader and processor modules for WebAssembly
https://github.com/mandiant/idawasm
fireeye-flare ida ida-pro idapython wasm
Last synced: 3 months ago
JSON representation
IDA Pro loader and processor modules for WebAssembly
- Host: GitHub
- URL: https://github.com/mandiant/idawasm
- Owner: mandiant
- License: apache-2.0
- Archived: true
- Created: 2018-10-04T21:10:44.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-04T21:20:45.000Z (about 6 years ago)
- Last Synced: 2024-04-13T22:59:21.697Z (7 months ago)
- Topics: fireeye-flare, ida, ida-pro, idapython, wasm
- Language: Python
- Homepage:
- Size: 232 KB
- Stars: 342
- Watchers: 12
- Forks: 56
- Open Issues: 3
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# 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](img/load-wasm.png)
#### reconstructs control flow
![graph-mode](img/graph-mode.png)
#### parses and renders types
![render-prototype](img/render-prototype.png)
#### extracts code and data cross references
![drefs](img/drefs.png)
#### detect function frame layout (for LLVM-compiled binaries)
![drefs](img/frame.png)
## installationThere are three steps to install this loader and processor:
1. install the python module:
```
python.exe setup.py install
```2. manually install the WebAssembly file loader:
```
mv loaders\wasm_loader.py %IDADIR%\loaders\wasm_loader.py
```3. 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](https://github.com/athre0z/wasm) WebAssembly decoder and disassembler library for Python.