A simple web based tool for working with assembly / disassembly
MIT License
Dash is a simple flask based web application for writing and editing assembly.
Think of it as a REPL for various assembly languages.
Dash depends on Python 2.7, capstone and keystone. So first things first install those as per the docs on their sites.
Once you've installed capstone and keystone, use pip to install all of the flask requirements.
pip install -r requirements.txt
This will install flask-restful.
To start from the command line where you've checked out dash go run
python dash.py
This will start the server on port 5555,browse there and away you go.
To write assembly simply click on the mnemonic field and type in the mnemoic and hit enter e.g. XOR eax, eax. On x86 only right now if you start an instruction with a jmp or a call it will attempt to offer you auto-completion suggestions for labels.
For example if you add a label to an instruction called myLabel and then later start typing JMP M
Dash will attempt to make auto-complete suggestions for you.
Simply edit the comments field to keep
The opcodes column is directly editable as well. Here you need to enter in each byte as a hexadecimal number. This will cause dash to disassemble.
You can change which processor mode dash works in, when this happens it will disassemble all of the bytes in the opcodes fields of each row in the new mode. This could be useful if you want to look at things like polyglot shellcode.
Changing Dash's configuration is accomplish using the three dropdown menus in the upper right hand corner.
These are:
Supported Configurations are:
Note dash will not change modes to an unsupported configuration e.g. Big Endian X86.