Xbox Executable#

class cle.backends.xbe.XBESection[source]#

Bases: Section

__init__(name, file_offset, file_size, virtual_addr, virtual_size, xbe_sec)[source]#
Parameters:
  • name (str) – The name of the section

  • offset (int) – The offset into the binary file this section begins

  • vaddr (int) – The address in virtual memory this section begins

  • size (int) – How large this section is

filesize: int#
property is_readable#

Whether this section has read permissions

property is_writable#

Whether this section has write permissions

property is_executable#

Whether this section has execute permissions

property only_contains_uninitialized_data#

We load every section in, they’re all initialized

vaddr: int#
memsize: int#
class cle.backends.xbe.XBE[source]#

Bases: Backend

The main loader class for statically loading XBE executables.

is_default = True#
__init__(*args, **kwargs)[source]#
Parameters:
  • binary – The path to the binary to load

  • binary_stream – The open stream to this binary. The reference to this will be held until you call close.

  • is_main_bin – Whether this binary should be loaded as the main executable

close()[source]#
static is_compatible(stream)[source]#

Determine quickly whether this backend can load an object from this stream

property min_addr#

This returns the lowest virtual address contained in any loaded segment of the binary.

property max_addr#

This returns the highest virtual address contained in any loaded segment of the binary.

classmethod check_compatibility(spec, obj)[source]#

Performs a minimal static load of spec and returns whether it’s compatible with other_obj

imports: typing.Dict[str, 'Relocation']#
relocs: List[Relocation]#
child_objects: List['Backend']#
exception_handlings: List[ExceptionHandling]#
function_hints: List[FunctionHint]#
memory: Clemory#
cached_content: Optional[bytes]#