ret2jazzy / disasm.pro

A realtime assembler/disassembler (formerly known as disasm.ninja)

Home Page:https://disasm.pro/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

disasm.pro

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 analyzing tiny snippets of code (mostly during CTFs) and shellcoding, which led to this.

I know there are other online assemblers/disassemblers out there, but none of them fit my exact needs.

Support

It currently supports 5 architectures:

  • x86/64
  • ARMv8
  • MIPS
  • Sparc
  • PowerPC

Most typical assembler directives are also supported. Macros are not fully supported.

Installation

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 ninja.py

python3 ninja.py

Bugs/Issues

If you stumble upon any bugs or somehow get it to segfault, please file an issue.

About

A realtime assembler/disassembler (formerly known as disasm.ninja)

https://disasm.pro/


Languages

Language:JavaScript 99.3%Language:CSS 0.1%Language:HTML 0.1%Language:Python 0.1%Language:LiveScript 0.0%Language:Makefile 0.0%Language:Kotlin 0.0%Language:Java 0.0%Language:Objective-C 0.0%Language:PLpgSQL 0.0%Language:Dockerfile 0.0%Language:R 0.0%Language:ASL 0.0%Language:Nix 0.0%Language:LSL 0.0%Language:HCL 0.0%Language:Red 0.0%Language:Liquid 0.0%Language:M4 0.0%Language:TypeScript 0.0%Language:Blade 0.0%Language:Scala 0.0%Language:Pascal 0.0%Language:TeX 0.0%Language:Haml 0.0%Language:Raku 0.0%Language:Shell 0.0%Language:ActionScript 0.0%Language:Groovy 0.0%Language:Csound 0.0%Language:Closure Templates 0.0%Language:ABAP 0.0%Language:FreeMarker 0.0%Language:Lua 0.0%Language:Forth 0.0%Language:VBScript 0.0%Language:Tcl 0.0%Language:VHDL 0.0%Language:C++ 0.0%Language:Clojure 0.0%Language:Sass 0.0%Language:Slim 0.0%Language:Twig 0.0%Language:EJS 0.0%Language:AutoHotkey 0.0%Language:Fortran 0.0%Language:Perl 0.0%Language:Gherkin 0.0%Language:Elixir 0.0%Language:Zeek 0.0%Language:Stylus 0.0%Language:Go 0.0%Language:Common Lisp 0.0%Language:Logtalk 0.0%Language:Mask 0.0%Language:Pug 0.0%Language:Scheme 0.0%Language:Less 0.0%Language:OCaml 0.0%Language:Ruby 0.0%Language:G-code 0.0%Language:Cirru 0.0%Language:GLSL 0.0%Language:Haskell 0.0%Language:Assembly 0.0%Language:Rust 0.0%Language:Dart 0.0%Language:Elm 0.0%Language:Erlang 0.0%Language:NSIS 0.0%Language:Vala 0.0%Language:Swift 0.0%Language:Haxe 0.0%Language:Vim Snippet 0.0%Language:Wollok 0.0%Language:PowerShell 0.0%Language:CoffeeScript 0.0%Language:SCSS 0.0%Language:F# 0.0%Language:Eiffel 0.0%Language:PHP 0.0%Language:OpenSCAD 0.0%Language:D 0.0%Language:Csound Score 0.0%Language:PigLatin 0.0%Language:Verilog 0.0%Language:Batchfile 0.0%Language:Julia 0.0%Language:MATLAB 0.0%Language:Csound Document 0.0%Language:Handlebars 0.0%Language:Io 0.0%Language:XQuery 0.0%Language:Ada 0.0%Language:ColdFusion 0.0%Language:C# 0.0%Language:COBOL 0.0%Language:jq 0.0%