1
Fork 0
mirror of https://github.com/shreyasminocha/gyan85.git synced 2026-06-26 01:07:59 -04:00
Tooling for pwn.college's yan85 architecture (emulator, {dis,}assembler)
Find a file
2024-07-04 22:22:46 +05:30
media Add some usage info 2023-07-09 21:57:33 +02:00
src Make emulator store machine code 2024-07-04 22:22:46 +05:30
tests Use Option<Register> for SYS arg 2024-07-04 20:28:03 +05:30
.gitignore Initialize repository 2023-01-26 10:30:06 -06:00
Cargo.lock Rewrite error handling with anyhow 2024-06-24 03:24:44 +05:30
Cargo.toml Rewrite error handling with anyhow 2024-06-24 03:24:44 +05:30
clippy.toml Rewrite error handling with anyhow 2024-06-24 03:24:44 +05:30
constants.yml Stub remaining syscalls 2024-06-24 02:08:09 +05:30
LICENSE Add license 2023-03-19 16:00:27 -05:00
README.md Rename crate 2024-06-16 19:53:26 +05:30

gyan85

Tooling for the yan85 architecture from pwn.college.

gyan emulating babyrev level 20.0

Installation

No packages or binaries are currently available, but you can clone this repository and build with:

cargo build --release

You can then use the binary at ./target/release/yan85.

Usage

gyan85's emulator and disassembler features operate on files that contain raw yan85 bytes.

Since opcodes change from level-to-level, gyan supports reading opcodes from a yaml file via the -c flag. See constants.yml for an example.

Emulator

gyan85 -c 20.0.yml emu -d br20.0.bin

Disassembler

gyan85 -c 20.0.yml disasm br20.0.bin

Assembler

gyan85 -c 20.0.yml asm br20.0.asm br20.0.bin

License

MIT license.