class Cradare2::Platform::PS2::Helper

Overview

High-level helper providing PlayStation 2 Emotion Engine, GS, SPRAM, and GIF packet forensics.

Defined in:

cradare2/platform/ps2/helper.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(client : Client) #

[View source]

Instance Method Detail

def client : Client #

[View source]
def configure_ee : self #

Configures radare2 disassembler for PS2 Emotion Engine (MIPS R5900, 32-bit).


[View source]
def configure_iop : self #

Configures radare2 disassembler for PS2 Input/Output Processor (MIPS I R3000A, 32-bit).


[View source]
def decode_giftag(address : Address) : GifDissector::GifTagInfo #

Decodes a 128-bit GIFTag header from memory at given address.


[View source]
def dissect_gif_packet(address : Address, max_items : Int32 = 50) : Array(GifDissector::GifItemInfo) #

Dissects a series of 128-bit GIF packet items starting at given address.


[View source]
def generate_script(target_path : String = "") : String #

Generates a standalone radare2 .rc script for PS2 / Citrine reverse engineering.


[View source]
def read_spram(offset : Int32 = 0, size : Int32 = 64) : Bytes #

Reads raw bytes from SPRAM at given offset (0 to 16KB).


[View source]
def register_formats : self #

Registers standard PS2 GS and Citrine print formats (pf.gs_*, pf.giftag, pf.citrine_obj).


[View source]
def setup_memory_map : self #

Injects PS2 EE memory map flags (SPRAM, GS registers, DMAC) into the "ps2" flag space.


[View source]
def verify_canary(address : Address = Registers::SPRAM_START, expected : UInt32 = Registers::DEFAULT_CANARY) : Bool #

Verifies the SPRAM stack canary value (default 0xDEADBEEF).


[View source]