sennavanhoek / A64-Shell

A cross-platform interactive Armv8-A A64 shell.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Armv8-A A64 Shell

A cross-platform interactive shell to try out A64 instructions and watch the changes in registers and memory.

screenshot

Commands

With overview a quick overview is shown of common registers and the mapped memory.

screenshot

You can also directly write to registers and memory by using the write command. This can help overcome the limitations of the MOV instruction far example.

screenshot

The info command gives a short description of a given instruction.

screenshot

How does it work?

The assembling is handled by Keystone and the emulation by Unicorn.
Information about the instructions has been scraped from the Armv8-A ISA.
To keep execution straightforward a single instruction is written to the base address and is executed. This means branching is out of the question, directives are also not supported.

About

A cross-platform interactive Armv8-A A64 shell.


Languages

Language:Python 100.0%