Cheap EMUlator is a simple tool to combine together all the features of 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)
unicorn
and its Python bindings, as the emulation enginekeystone
and its Python bindings, as the assembly enginecapstone
and its Python bindings, as the disassembly enginePyQt5
for the GUIpygments
for the text colorization
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
The fastest way for Windows is to install the packaged binaries for:
- Keystone (http://www.keystone-engine.org/download/#python-module-for-windows-32---binaries-img-srcimagespythonpng-height28-width28-img-srcimageswindowspng-height28-width28)
- Capstone (http://www.capstone-engine.org/download.html)
- Unicorn (http://www.unicorn-engine.org/download/)
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
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.
To do so, follow the installation procedure for OpenReil
by following the steps
here.