GithubHelp home page GithubHelp logo

michalbiesek / cemu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hugsy/cemu

0.0 0.0 0.0 785 KB

Cheap EMUlator: lightweight multi-architecture assembly playground

License: MIT License

Python 96.49% C 0.32% Assembly 2.53% HTML 0.66%

cemu's Introduction

Logo

CEmu : The Cheap (Assembly) Emulator

Code style: black Licence MIT Python-Version 3.10 CEmu on PyPI CEmu on Discord Downloads

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:

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:

cemu-gui

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.

cemu-cli

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.

contributors-img

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!

cemu's People

Contributors

ahmed-nematallah avatar hugsy avatar mx-pycoder avatar nobool 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.