Skip to content

arch ¤

Classes:

Attributes:

PWNDBG_SUPPORTED_ARCHITECTURES_TYPE module-attribute ¤

PWNDBG_SUPPORTED_ARCHITECTURES_TYPE = Literal[
    "x86-64",
    "i386",
    "i8086",
    "mips",
    "aarch64",
    "arm",
    "armcm",
    "rv32",
    "rv64",
    "sparc",
    "powerpc",
    "loongarch64",
    "s390x",
]

PWNDBG_SUPPORTED_ARCHITECTURES module-attribute ¤

PWNDBG_SUPPORTED_ARCHITECTURES: list[PWNDBG_SUPPORTED_ARCHITECTURES_TYPE] = (
    list(get_args(PWNDBG_SUPPORTED_ARCHITECTURES_TYPE))
)

PWNLIB_ARCH_MAPPINGS module-attribute ¤

PWNLIB_ARCH_MAPPINGS = {
    "x86-64": "amd64",
    "i386": "i386",
    "i8086": "none",
    "mips": "mips",
    "aarch64": "aarch64",
    "arm": "arm",
    "armcm": "thumb",
    "rv32": "riscv32",
    "rv64": "riscv64",
    "powerpc": "powerpc",
    "sparc": "sparc",
    "loongarch64": "none",
    "s390x": "s390",
}

PWNLIB_PLATFORM_MAPPINGS module-attribute ¤

PWNLIB_PLATFORM_MAPPINGS: dict[Platform, str] = {
    LINUX: "linux",
    DARWIN: "darwin",
}

Platform ¤

Bases: Enum

Attributes:

LINUX class-attribute instance-attribute ¤

LINUX = (auto(),)

DARWIN class-attribute instance-attribute ¤

DARWIN = (auto(),)

ArchAttribute ¤

ArchAttribute(_, cs_mode)

Bases: Enum

Attributes:

MIPS_ISA_1 class-attribute instance-attribute ¤

MIPS_ISA_1 = (auto(), CS_MODE_MIPS1)

MIPS_ISA_2 class-attribute instance-attribute ¤

MIPS_ISA_2 = (auto(), CS_MODE_MIPS2)

MIPS_ISA_3 class-attribute instance-attribute ¤

MIPS_ISA_3 = (auto(), CS_MODE_MIPS3)

MIPS_ISA_4 class-attribute instance-attribute ¤

MIPS_ISA_4 = (auto(), CS_MODE_MIPS4)

MIPS_ISA_5 class-attribute instance-attribute ¤

MIPS_ISA_5 = (auto(), CS_MODE_MIPS5)

MIPS_ISA_32 class-attribute instance-attribute ¤

MIPS_ISA_32 = (auto(), CS_MODE_MIPS32)

MIPS_ISA_32R2 class-attribute instance-attribute ¤

MIPS_ISA_32R2 = (auto(), CS_MODE_MIPS32R2)

MIPS_ISA_32R3 class-attribute instance-attribute ¤

MIPS_ISA_32R3 = (auto(), CS_MODE_MIPS32R3)

MIPS_ISA_32R5 class-attribute instance-attribute ¤

MIPS_ISA_32R5 = (auto(), CS_MODE_MIPS32R5)

MIPS_ISA_32R6 class-attribute instance-attribute ¤

MIPS_ISA_32R6 = (auto(), CS_MODE_MIPS32R6)

MIPS_ISA_64 class-attribute instance-attribute ¤

MIPS_ISA_64 = (auto(), CS_MODE_MIPS64)

MIPS_ISA_64R2 class-attribute instance-attribute ¤

MIPS_ISA_64R2 = (auto(), CS_MODE_MIPS64R2)

MIPS_ISA_64R3 class-attribute instance-attribute ¤

MIPS_ISA_64R3 = (auto(), CS_MODE_MIPS64R3)

MIPS_ISA_64R5 class-attribute instance-attribute ¤

MIPS_ISA_64R5 = (auto(), CS_MODE_MIPS64R5)

MIPS_ISA_64R6 class-attribute instance-attribute ¤

MIPS_ISA_64R6 = (auto(), CS_MODE_MIPS64R6)

MIPS_ISA_MICRO class-attribute instance-attribute ¤

MIPS_ISA_MICRO = (auto(), CS_MODE_MICRO)

MIPS_ISA_NANO class-attribute instance-attribute ¤

MIPS_ISA_NANO = (auto(), CS_MODE_NANOMIPS)

cs_mode instance-attribute ¤

cs_mode = cs_mode

ArchDefinition dataclass ¤

ArchDefinition(
    name: PWNDBG_SUPPORTED_ARCHITECTURES_TYPE,
    ptrsize: int,
    endian: Literal["little", "big"],
    platform: Platform,
    attributes: list[ArchAttribute] = list(),
)

Attributes:

name instance-attribute ¤

ptrsize instance-attribute ¤

ptrsize: int

Pointer size in bytes

endian instance-attribute ¤

endian: Literal['little', 'big']

platform instance-attribute ¤

platform: Platform

attributes class-attribute instance-attribute ¤

attributes: list[ArchAttribute] = field(default_factory=list)