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, MIPS64, SPARC and PPC).
Project description
CEmu : The Cheap (Assembly) Emulator
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 GUI, CLI and library that allows to write and test assembly quickly.
CEmu is built upon:
- Keystone for compiling assembly to bytecode
- Capstone for disassembling bytecode
- Unicorn for the emulation
And the GUI is powered by in a Qt6.
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
- PPC (but not emulation)
CEmu
was mostly tested to work on Linux and Windows, but should work on MacOS.
Installation
Notes
Since version 0.2.2, cemu
is now Python3 only for simplicity and mostly also due to the fact that Python2 is not developed any longer. If your current installation of cemu
is <= 0.2.1 and on Python2, please uninstall it and install it using Python3.
In addition, Python >= 3.10 is required, starting 0.6
.
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 the associated Scripts
directory:
- On Linux by default the executable will be found as
/usr/local/bin/cemu
if installed as root,~/.local/bin/cemu
for non-root - On Windows,
%PYTHON_DIR%\Scripts\cemu.exe
if installed with privileges,%APPDATA%\Python\Python310\Scripts\cemu.exe
if not
Usage
As a GUI
After installing with pip
, simply run the executable, or invoke via Python
python -m cemu
This should produce a GUI similar to this:
In the terminal
python -m cemu cli
From where you'll end up in a REPL, allowing you to build and run the emulation environment.
As a Library
$ python
>>> import cemu
Then use the provided API to build and run your environment.
Contribution
cemu
was created and maintained by myself, @_hugsy_
, but kept fresh thanks to all the contributors.
If you just like the tool, consider dropping on Discord (or Twitter or other) a simple "thanks", it is always very appreciated. And if you can, consider sponsoring me - it really helps dedicating time and resources to the projects!
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
Built Distribution
File details
Details for the file cemu-0.8.0.tar.gz
.
File metadata
- Download URL: cemu-0.8.0.tar.gz
- Upload date:
- Size: 573.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 112e0b10dd7eeaae539bda932648c73e3d463bb21cad6fdf7660d453ece08074 |
|
MD5 | b8176c23bfdc8f54b8e86bf1564bfe21 |
|
BLAKE2b-256 | f44f29c03e2a77e31e21c1d24e28ded2f8971f98489c76bcc72906d6032f2c2d |
File details
Details for the file cemu-0.8.0-py3-none-any.whl
.
File metadata
- Download URL: cemu-0.8.0-py3-none-any.whl
- Upload date:
- Size: 587.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c64de54145a5e7ea34bed56aae0bb5611e50ef8b50385e9bee4fcd0c4508714a |
|
MD5 | 694cc1b3b068ec519c407b43f27c3370 |
|
BLAKE2b-256 | df6b7d0dbeafcc3d4873707ba91641069891b0a4cbe884474a5ecb856d9303a4 |