/ProjectChampollion

Reverse engineering Rosetta 2 on M1 Mac

Primary LanguagePythonApache License 2.0Apache-2.0

Project Champollion

About this project

Rosetta 2 is an emulation mechanism to run the x86_64 applications on Arm-based Apple Silicon with Ahead-Of-Time (AOT) and Just-In-Time (JIT) binary translation.

The technical details of Rosetta 2 are partially documented, but not rich enough. Project Champollion is a project aimed at revealing the internals of Rosetta 2. Currently, it provides:

Attention

This project is a work in progress and might still contain some mistakes. If you find any mistakes, please report them in the issue.

Citing Project Champollion

To cite this repository, please add the following BibTeX entry.

@software{prj_champ_rosetta2,
  author = {Koh M. Nakagawa},
  title = {{Project Champollion: Reverse engineering Rosetta 2}}
  url = {https://github.com/FFRI/ProjectChampollion},
  version = {0.1.0},
  year = {2021},
}

License

The tools of this project are distributed under Apache License version 2.0.

Author

Koh M. Nakagawa. © FFRI Security, Inc. 2021