Skip to main content

Cemu is a simple assembly/dissembly/emulation IDE that provides an easy Plug-n-Play environment to start playing with many architectures (currently supports x86-{32,64}, ARM, AARCH64, MIPS, SPARC).

Project description

MIT IRC Python-Version PyPi-Version

cemu-linux

cemu-linux

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.

CEmu 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)

CEmu was tested and works on Linux, Windows and MacOSX.

Installation

Since version 0.2.2, cemu is now Python3 only for simplicity (and also due to the fact that Python2 will soon cease to exist).

If your current installation of cemu is <= 0.2.1 and on Python2, please uninstall it and install it using Python3.

Quick install with PIP

Last stable from PyPI:

pip3 install cemu

Last stable from Github:

git clone https://github.com/hugsy/cemu && cd cemu
pip3 install --upgrade .

For 99% of cases, that’s all you need to do. cemu will be installed in your ${LOCALPATH}/bin directory (by default, /usr/local/bin/cemu if installed as root, ~/.local/bin/cemu for non-root).

Installation notes

Kali Linux

If you are using Kali Linux, there is a known problem with the installation of the keystone-engine package using PIP. A quick’n dirty fix for that would be (as root):

$ sudo updatedb
$ sudo locate libkeystone.so
$ sudo ln -sf /path/to/libkeystone.so/found/above /usr/local/lib/libkeystone.so

OSX

If you are using OSX, I would highly recommand installing Capstone engine directly using brew.sh command instead of pip, as its version seems more up-to-date than the one on PyPI. Doing so, the installation should work out of the box:

$ brew install capstone
$ pip3 install -U cemu

Windows

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

Then spawn cmd.exe and install the missing Python packages using pip:

# From PyPI
C:\> pip.exe install -U cemu
# From Github
## Download ZIP and extract it
C:\> cd path\to\cemu
C:\path\to\cemu> pip.exe install . -U

CEmu launcher (cemu.exe) will be in the C:\Python3\Scripts directory.

Contribution

cemu was created and maintained by myself, `@_hugsy_ <https://twitter.com/_hugsy_>`__, but kept fresh thanks to all the contributors.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cemu-0.4.tar.gz (57.3 kB view details)

Uploaded Source

Built Distribution

cemu-0.4-py3-none-any.whl (73.3 kB view details)

Uploaded Python 3

File details

Details for the file cemu-0.4.tar.gz.

File metadata

  • Download URL: cemu-0.4.tar.gz
  • Upload date:
  • Size: 57.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for cemu-0.4.tar.gz
Algorithm Hash digest
SHA256 e65ba27a0c1c1e5804796344dfbdcbee669f2d414efa56f939879c48e2daeb78
MD5 f8366bf80792d69692729d5de396e81d
BLAKE2b-256 38d593f74045b29c08ce26dbd5c8fd8270336b37b672c7f3dbd9fc4b8cc7203e

See more details on using hashes here.

Provenance

File details

Details for the file cemu-0.4-py3-none-any.whl.

File metadata

  • Download URL: cemu-0.4-py3-none-any.whl
  • Upload date:
  • Size: 73.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.6.0 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for cemu-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 56773e1e4c40af6c0c65582906f2bdafb7321e3949a2b24df6a0803a931d25e1
MD5 d9a320dbc20ee540ee3e630ff8cead8e
BLAKE2b-256 9920deda0bf0aceb794250bd3bb36181f8debb29c6f17eae0a28909dbe92fdb3

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page