Cemu

Latest version: v0.7

Safety actively analyzes 613568 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

0.7

Highlights

- Moved to PyQt6
- Updated minimum Python version to 3.10
- Added GitHub Actions for publishing, formatting, and linting
- Enforced `black` as the only coding style
- Improved CI/CD
- Command-line REPL based on `prompt_toolkit`
- Cemu can now be used as a library
- `Ctrl+F` can be used to switch to focus mode, showing nothing but code pane

<img alt="cemu-repl" src="https://camo.githubusercontent.com/cc56c63400c14d49c26673001455e41f407f8c8bcf597603325eb6ca4f208e07/68747470733a2f2f692e696d6775722e636f6d2f5379524a6d49352e706e67" width=75%>

Improvements

- All plugins and panes are now dockable widgets, which can be hidden/displayed from toolbar
- Created a global backend context structure
- Refactored code to use the global context
- Use of GithubActions for testing, formatting and publishing
- Added `stale.yml` config
- Added issue templates
- Added PR template
- Added contribution and funding policy files
- Added an action for codeql-analysis.yml
- Updated readme with new logo and badges
- Added byte alignment combobox to memory view
- Removed debug prints and added docstrings
- Added new commands in CLI
- Fixed state transition bug in UI
- Added Pytest run in CI
- Added basic tests for ARM/Aarch64
- Removed obsolete files
- Started adding support for multiple OSes


Bug Fixes

- Implemented type hinting throughout the project, resulting in many potential bug fixed
- Implemented a proper callback system for logging
- Fixed most errors from pylint
- Fixed emulation issues
- Mitigated a weird `unicorn-engine` bug in MIPS and SPARC, reporting an incorrect emulation end address
- Fixed state transition bug in the UI


Miscellaneous

- Made delivery on demand in CI
- Fixed typos in CI actions
- Updated build.yml file
- Fixed py 3.10 version specification in CI
- Restored files to permission 0644
- Added warning message when no SP or PC was specified before starting emulation
- Updated README.md, added more descriptive how-to, added REPL screenshot, and a fancy new logo
- Fixed the calculation of `$sp` and `$pc` when the emulator sets up
- Added extra tests

Please note that this changelog may not include all the changes and improvements made in the codebase.

Contributors

- [Piotr Kasprzyk](https://github.com/kwadrat)
- [thelumberjhack](https://github.com/thelumberjhack)

Full Diff

**Changelog**: https://github.com/hugsy/cemu/compare/0.6...0.7

0.6

What's Changed

- Moved to Python 3.9
- Better type hinting, fixed tons of logic bugs
- Move to PyQt6
- Added 'Focus Mode' (shortcut : `Ctrl+F`)
- Updated & fixed dependencies from `requirements.txt`

New Contributors
* thelumberjhack made their first contribution in https://github.com/hugsy/cemu/pull/66
* kwadrat made their first contribution in https://github.com/hugsy/cemu/pull/66

**Full Changelog**: https://github.com/hugsy/cemu/compare/0.5...0.6

0.5

New features:

- compile-as-you-go: whenever possible, cemu will attempt to display the assembly
of the code being typed in the Code Editor pane
- Switched to a dockable system for each pane, layout is fully customizable
- Simplified the "Memory Map" pane, to allow adding/removing new section easily
- A proper configfile allows to push further the customization (edit shortcuts and stuff)
- Last but not least, thanks to the awesome [LIEF Project](https://github.com/lief-project/LIEF)
by romainthomas, it is possible to generate PE32/PE32+ executables directly from cemu!

![img1](https://i.imgur.com/iHtWvTL.png)
![img2](https://i.imgur.com/hqnyA9W.png)

Enjoy 🍻

0.4

Minor bug fixed
Label support

0.3

New layout, multiple bug fixed, more OS agnostic.

Code was massively refactored to make it more extendable.

0.2.2

- Mode, architecture and syntax can be dynamically provided via the file header, using `` separator:
![](https://i.imgur.com/nzlrcVt.png)
- Improved integrated Python interpreter
![](https://i.imgur.com/Eq4dwDT.png)
- Many bugfix

Page 1 of 2

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.