Giter Site home page Giter Site logo

lucabongiorni / dash Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pmarkowsky/dash

0.0 1.0 0.0 345 KB

A simple web based tool for working with assembly language / disassembly tool

License: MIT License

Python 62.78% CSS 1.03% JavaScript 17.35% Smarty 18.84%

dash's Introduction

Dash - the quick dash assembler / disassembler

Dash is a simple flask based web application for writing and editing assembly.

Think of it as a REPL for various assembly languages.

Installation

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.

Usage

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.

basic_session

Writing Basic Assembly

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.

Adding Comments

Simply edit the comments field to keep

Editing Bytes

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.

Changing Processor Modes

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:

  • ARCH: The CPU architechture to operate in
  • MODE: Right now this is just 16-bit, 32-bit, or 64-bit
  • ENDIANESS: which is tells dash to assemble instructions as big endian or little endian

Supported Configurations are:

  • x86 16-bit Little Endian
  • x86 32-bit Little Endian
  • x86 64-bit Little Endian
  • ARM 16-bit mode Big or Little Endian (This is Thumb)
  • ARM 32-bit mode Big or Little Endian (This is just ARMv7)
  • ARM64 64-bit mode Little Endian (This is AArch64)
  • MIPS 32-bit Big or Little Endian

Note dash will not change modes to an unsupported configuration e.g. Big Endian X86.

dash's People

Contributors

pmarkowsky avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.