An emulator to emulate the Haven GSC(Google Security Chip), made by Google.
Run this project with: pip3 install git+https://github.com/HavenOverflow/gscemu && gscemu
The GSC is not open source, and it's only partially open source, and no emula…
An emulator to emulate the Haven GSC(Google Security Chip), made by Google.
Run this project with: pip3 install git+https://github.com/HavenOverflow/gscemu && gscemu
The GSC is not open source, and it’s only partially open source, and no emulator exists for such a chip. The goal of this project is to fully “open source” the chip by making a fully open source emulator for it. Publicly this has not been attempted before, although many others have done extensive research on this chip.
This emulator emulates an entire SoC and an ARMv7m(Cortex-M3) cpu, supported by the unicorn-engine. The emulator can be used for making a chromeOS virtual machine, fuzzing the chip firmware for vulnerabilities.
Starting this project, I had no knowledge of assembly/CPU internals. I had to learn ARM assembly from scratch, and then to learn about the ARMv7M spec.
This project is part of a bigger project to fully open source the google security chips!
Used AI code to write the low speed timers ONLY(https://github.com/HavenOverflow/gscemu/blob/main/src/haven/components/timels.py)
No AI was used elsewhere within this project. All specifications have been taken from official ARM specification documents.