GithubHelp home page GithubHelp logo

zvodd / cemu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hugsy/cemu

0.0 2.0 0.0 219 KB

Cheap EMUlator: Simply load, write & execute assembly code for various architectures.

License: MIT License

Python 91.82% Shell 3.80% Assembly 4.39%

cemu's Introduction

cemu

Description

Writing assembly is fun. Assembly is the lowest language (humanly understandable) available to communicate with computers, and is crucial to understand the internal mechanisms of any machine. Unfortunately, setting up an environment to write, compile and run assembly for various architectures (x86, ARM, MIPS, SPARC) has always been painful. CEmu is an attempt to fix this by providing a bundled GUI application that empowers users to write assembly and test it by compiling it to bytecode and executing it in an QEMU-based emulator.

Cheap EMUlator combines all the advantages of a basic assembly IDE, compilation and execution environment, by relying on the great libraries Keystone, Unicorn and Capstone engines in a Qt powered GUI.

It allows to test binary samples, check your shellcodes or even simply learn how to write assembly code, all of this for the following architectures:

  • x86-32 / x86-64
  • Arm / AArch64
  • MIPS / MIPS64
  • SPARC / SPARC64
  • (more to come)

Pre-Requisites

  • unicorn and its Python bindings, as the emulation engine
  • keystone and its Python bindings, as the assembly engine
  • capstone and its Python bindings, as the disassembly engine
  • PyQt5 for the GUI
  • pygments for the text colorization

Show Me

Linux

cemu-linux

Windows

cemu-win

OSX

cemu-osx

Requirements

Linux / OSX

Use the script requirements.sh to install all the dependencies required for cemu.

Since some packages can be installed via your package manager, the script may ask for your root password if required.

$ ./requirements.sh

By default, the script will install the dependencies to have cemu running with Python3. If you prefer to use Python2, simply add --python2 to the command line, like this:

$ ./requirements.sh --python2

Windows

The fastest way for Windows is to install the packaged binaries for:

Then spawn cmd.exe and install the missing Python packages: python-qt5, pygments).

C:>pip.exe install python-qt5 pygments

If you are running Python2, you will also need to install the package enum34.

OpenReil integration

OpenREIL is an Open Source library created by @Cr4sh that implements a translator and tools for generating Intermediate Language level code (REIL). OpenREIL library can be used optionally with cemu. The Current version of OpenREIL only provides support for x86 (Intel) architecture.

If you use cemu with Python 2.7, you can also use OpenReil to generate IR code based on the content of the Code panel.

cemu-openreil

To do so, follow the installation procedure for OpenReil by following the steps here.

cemu's People

Contributors

hugsy avatar zvodd avatar

Watchers

 avatar  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.