Formerly known as disasm.ninja, It's a multi-architecture realtime assembler/disassembler with line-to-line correlation. A live version is currently up at https://disasm.pro/
What and Why
It is basically a nice frontend of my keystone fork (for line-to-line assembling) and capstone. I don't normally do frontend development but I wanted something for quickly assembling/disassembling tiny snippets of code (mostly during CTFs), so I ended up writing this.
I know there are other online assemblers/disassemblers out there, but none of them had all the features I required.
It currently supports 5 architectures:
Most typical assembler directives are also supported. Macros are not fully supported.
To Install and run it locally:
- Git clone with submodules
git clone https://github.com/ret2got/disasm.pro.git --recursive cd disasm.pro
- Build and Install the keystone fork (It's a submodule)
cd keystone mkdir build; cd build ../make-share.sh; sudo make install
- Install the Python3 bindings
cd bindings/python sudo make install3
- Install Python dependencies
pip3 install -r requirements.txt
Now you can run it by executing the
If you stumble upon any bugs or somehow get it to segfault, please file an issue.