|
ReXGlue SDK
|
#include <rex/kernel/module.h>
Public Member Functions | |
| ELFModule (FunctionDispatcher *function_dispatcher) | |
| bool | IsLoaded () const |
| const std::string & | GetName () const override |
| bool | IsExecutable () const override |
| const std::string & | GetPath () const |
| u32 | GetBaseAddress () const override |
| u32 | GetImageSize () const override |
| u32 | GetEntryPoint () const override |
| bool | Load (const std::string_view name, const std::string_view path, const void *elf_addr, size_t elf_length) |
| bool | Unload () |
| Public Member Functions inherited from rex::kernel::GuestModule | |
| GuestModule (FunctionDispatcher *function_dispatcher) | |
| kernel::GuestAddressSpace * | GetAddressSpace () const |
| FunctionDispatcher * | GetFunctionDispatcher () const |
| virtual u32 | GetExportTableAddress () const |
| virtual u32 | GetExceptionDirectoryRVA () const |
| virtual u32 | GetExceptionDirectorySize () const |
| virtual u32 | GetExceptionDirectoryAddress () const |
| bool | IsExecutableAddress (u32 address) const |
| virtual std::span< const BinarySection > | GetBinarySections () const |
| virtual const BinarySection * | FindSectionByAddress (u32 address) const |
| virtual std::span< const BinarySymbol > | GetBinarySymbols () const |
Additional Inherited Members | |
| Protected Attributes inherited from rex::kernel::GuestModule | |
| FunctionDispatcher * | function_dispatcher_ = nullptr |
| kernel::GuestAddressSpace * | memory_ = nullptr |
| std::vector< BinarySection > | binary_sections_ |
| std::vector< BinarySymbol > | binary_symbols_ |
Loads libxenon executables.
|
explicit |
Builds an unloaded module.
| function_dispatcher | The dispatcher whose memory the module loads into. |
|
inlineoverridevirtual |
Returns the lowest guest address of the loaded segments, 0 before the image is loaded.
Reimplemented from rex::kernel::GuestModule.
|
inlineoverridevirtual |
Reimplemented from rex::kernel::GuestModule.
|
inlineoverridevirtual |
Reimplemented from rex::kernel::GuestModule.
|
inlineoverridevirtual |
Implements rex::kernel::GuestModule.
|
overridevirtual |
Reports whether the image has an entry point.
Implements rex::kernel::GuestModule.
| bool rex::kernel::ELFModule::Load | ( | const std::string_view | name, |
| const std::string_view | path, | ||
| const void * | elf_addr, | ||
| size_t | elf_length ) |
Copies the loadable segments of an ELF image into guest memory.
| elf_addr | The host address of the ELF image. |