pub struct NoOS;
Expand description
Marker type for a missing OS implementation.
Trait Implementations§
Source§impl<Driver> VmiOs<Driver> for NoOSwhere
Driver: VmiDriver,
impl<Driver> VmiOs<Driver> for NoOSwhere
Driver: VmiDriver,
Source§fn kernel_image_base(_vmi: VmiState<'_, Driver, Self>) -> Result<Va, VmiError>
fn kernel_image_base(_vmi: VmiState<'_, Driver, Self>) -> Result<Va, VmiError>
Retrieves the base address of the kernel image. Read more
Source§fn kernel_information_string(
_vmi: VmiState<'_, Driver, Self>,
) -> Result<String, VmiError>
fn kernel_information_string( _vmi: VmiState<'_, Driver, Self>, ) -> Result<String, VmiError>
Retrieves an implementation-specific string containing kernel
information. Read more
Source§fn kpti_enabled(_vmi: VmiState<'_, Driver, Self>) -> Result<bool, VmiError>
fn kpti_enabled(_vmi: VmiState<'_, Driver, Self>) -> Result<bool, VmiError>
Checks if Kernel Page Table Isolation (KPTI) is enabled. Read more
Source§fn modules(
_vmi: VmiState<'_, Driver, Self>,
) -> Result<impl Iterator<Item = Result<Self::Module<'_>, VmiError>> + '_, VmiError>
fn modules( _vmi: VmiState<'_, Driver, Self>, ) -> Result<impl Iterator<Item = Result<Self::Module<'_>, VmiError>> + '_, VmiError>
Returns an iterator over the loaded kernel modules. Read more
Source§fn processes(
_vmi: VmiState<'_, Driver, Self>,
) -> Result<impl Iterator<Item = Result<Self::Process<'_>, VmiError>> + '_, VmiError>
fn processes( _vmi: VmiState<'_, Driver, Self>, ) -> Result<impl Iterator<Item = Result<Self::Process<'_>, VmiError>> + '_, VmiError>
Returns an iterator over the processes. Read more
Source§fn process<'a>(
_vmi: VmiState<'_, Driver, Self>,
_process: ProcessObject,
) -> Result<Self::Process<'_>, VmiError>
fn process<'a>( _vmi: VmiState<'_, Driver, Self>, _process: ProcessObject, ) -> Result<Self::Process<'_>, VmiError>
Returns the process corresponding to the given process object.
Source§fn current_process<'a>(
_vmi: VmiState<'_, Driver, Self>,
) -> Result<Self::Process<'_>, VmiError>
fn current_process<'a>( _vmi: VmiState<'_, Driver, Self>, ) -> Result<Self::Process<'_>, VmiError>
Returns the currently executing process.
Source§fn system_process<'a>(
_vmi: VmiState<'_, Driver, Self>,
) -> Result<Self::Process<'_>, VmiError>
fn system_process<'a>( _vmi: VmiState<'_, Driver, Self>, ) -> Result<Self::Process<'_>, VmiError>
Returns the system process object. Read more
Source§fn thread<'a>(
_vmi: VmiState<'_, Driver, Self>,
_thread: ThreadObject,
) -> Result<Self::Thread<'_>, VmiError>
fn thread<'a>( _vmi: VmiState<'_, Driver, Self>, _thread: ThreadObject, ) -> Result<Self::Thread<'_>, VmiError>
Returns the thread corresponding to the given thread object.
Source§fn current_thread(
_vmi: VmiState<'_, Driver, Self>,
) -> Result<Self::Thread<'_>, VmiError>
fn current_thread( _vmi: VmiState<'_, Driver, Self>, ) -> Result<Self::Thread<'_>, VmiError>
Returns the currently executing thread.
Source§fn image<'a>(
_vmi: VmiState<'_, Driver, Self>,
_image_base: Va,
) -> Result<Self::Image<'_>, VmiError>
fn image<'a>( _vmi: VmiState<'_, Driver, Self>, _image_base: Va, ) -> Result<Self::Image<'_>, VmiError>
Returns the image corresponding to the given base address.
Source§fn module<'a>(
_vmi: VmiState<'_, Driver, Self>,
_module: Va,
) -> Result<Self::Module<'_>, VmiError>
fn module<'a>( _vmi: VmiState<'_, Driver, Self>, _module: Va, ) -> Result<Self::Module<'_>, VmiError>
Returns the kernel module corresponding to the given base address.
Source§fn region<'a>(
_vmi: VmiState<'_, Driver, Self>,
_region: Va,
) -> Result<Self::Region<'_>, VmiError>
fn region<'a>( _vmi: VmiState<'_, Driver, Self>, _region: Va, ) -> Result<Self::Region<'_>, VmiError>
Returns the memory region corresponding to the given address. Read more
Source§fn syscall_argument(
_vmi: VmiState<'_, Driver, Self>,
_index: u64,
) -> Result<u64, VmiError>
fn syscall_argument( _vmi: VmiState<'_, Driver, Self>, _index: u64, ) -> Result<u64, VmiError>
Retrieves a specific syscall argument according to the system call ABI. Read more
Source§fn function_argument(
_vmi: VmiState<'_, Driver, Self>,
_index: u64,
) -> Result<u64, VmiError>
fn function_argument( _vmi: VmiState<'_, Driver, Self>, _index: u64, ) -> Result<u64, VmiError>
Retrieves a specific function argument according to the calling
convention of the operating system. Read more
Source§impl<Driver> VmiOsImage<'_, Driver> for NoOSwhere
Driver: VmiDriver,
impl<Driver> VmiOsImage<'_, Driver> for NoOSwhere
Driver: VmiDriver,
Source§fn base_address(&self) -> Va
fn base_address(&self) -> Va
Returns the base address of the image.
Source§fn architecture(&self) -> Result<Option<VmiOsImageArchitecture>, VmiError>
fn architecture(&self) -> Result<Option<VmiOsImageArchitecture>, VmiError>
Returns the target architecture for which the image was compiled.
Source§impl<Driver> VmiOsMapped<'_, Driver> for NoOSwhere
Driver: VmiDriver,
impl<Driver> VmiOsMapped<'_, Driver> for NoOSwhere
Driver: VmiDriver,
Source§impl<Driver> VmiOsModule<'_, Driver> for NoOSwhere
Driver: VmiDriver,
impl<Driver> VmiOsModule<'_, Driver> for NoOSwhere
Driver: VmiDriver,
Source§impl<'a, Driver> VmiOsProcess<'a, Driver> for NoOSwhere
Driver: VmiDriver,
impl<'a, Driver> VmiOsProcess<'a, Driver> for NoOSwhere
Driver: VmiDriver,
Source§fn architecture(&self) -> Result<VmiOsImageArchitecture, VmiError>
fn architecture(&self) -> Result<VmiOsImageArchitecture, VmiError>
Returns the architecture of the process.
Source§fn translation_root(&self) -> Result<Pa, VmiError>
fn translation_root(&self) -> Result<Pa, VmiError>
Returns the process’s page table translation root.
Source§fn user_translation_root(&self) -> Result<Pa, VmiError>
fn user_translation_root(&self) -> Result<Pa, VmiError>
Returns the user-mode page table translation root. Read more
Source§fn regions(
&self,
) -> Result<impl Iterator<Item = Result<<Self::Os as VmiOs<Driver>>::Region<'_>, VmiError>>, VmiError>
fn regions( &self, ) -> Result<impl Iterator<Item = Result<<Self::Os as VmiOs<Driver>>::Region<'_>, VmiError>>, VmiError>
Returns an iterator over the process’s memory regions.
Source§fn find_region(
&self,
_address: Va,
) -> Result<Option<<Self::Os as VmiOs<Driver>>::Region<'a>>, VmiError>
fn find_region( &self, _address: Va, ) -> Result<Option<<Self::Os as VmiOs<Driver>>::Region<'a>>, VmiError>
Finds the memory region containing the given address.
Source§impl<'a, Driver> VmiOsRegion<'a, Driver> for NoOSwhere
Driver: VmiDriver,
impl<'a, Driver> VmiOsRegion<'a, Driver> for NoOSwhere
Driver: VmiDriver,
Source§fn start(&self) -> Result<Va, VmiError>
fn start(&self) -> Result<Va, VmiError>
Returns the starting virtual address of the memory region.
Source§fn end(&self) -> Result<Va, VmiError>
fn end(&self) -> Result<Va, VmiError>
Returns the ending virtual address of the memory region.
Source§fn protection(&self) -> Result<MemoryAccess, VmiError>
fn protection(&self) -> Result<MemoryAccess, VmiError>
Returns the memory protection of the memory region.
Source§impl<Driver> VmiOsThread<'_, Driver> for NoOSwhere
Driver: VmiDriver,
impl<Driver> VmiOsThread<'_, Driver> for NoOSwhere
Driver: VmiDriver,
Auto Trait Implementations§
impl Freeze for NoOS
impl RefUnwindSafe for NoOS
impl Send for NoOS
impl Sync for NoOS
impl Unpin for NoOS
impl UnwindSafe for NoOS
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more