pub struct SpoofedSyscall { /* private fields */ }Expand description
spoofed syscall invoker
wraps a syscall with return address spoofing to evade call stack analysis
Implementations§
Source§impl SpoofedSyscall
impl SpoofedSyscall
Sourcepub fn with_config(name: &str, config: SpoofConfig) -> Result<Self>
pub fn with_config(name: &str, config: SpoofConfig) -> Result<Self>
create spoofed syscall with custom configuration
Sourcepub fn from_entry_with_config(
entry: &SyscallEntry,
config: SpoofConfig,
) -> Result<Self>
pub fn from_entry_with_config( entry: &SyscallEntry, config: SpoofConfig, ) -> Result<Self>
create from syscall entry with config
Sourcepub fn from_entry(entry: &SyscallEntry) -> Result<Self>
pub fn from_entry(entry: &SyscallEntry) -> Result<Self>
create from syscall entry with default config
Sourcepub fn gadget_addr(&self) -> Option<usize>
pub fn gadget_addr(&self) -> Option<usize>
get gadget address (if using gadget mode)
Source§impl SpoofedSyscall
impl SpoofedSyscall
Sourcepub unsafe fn call0(&self) -> i32
pub unsafe fn call0(&self) -> i32
invoke spoofed syscall with 0 arguments
§Safety
caller must ensure the syscall is appropriate to call with 0 args
Sourcepub unsafe fn call5(
&self,
arg1: usize,
arg2: usize,
arg3: usize,
arg4: usize,
arg5: usize,
) -> i32
pub unsafe fn call5( &self, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize, ) -> i32
Auto Trait Implementations§
impl Freeze for SpoofedSyscall
impl RefUnwindSafe for SpoofedSyscall
impl Send for SpoofedSyscall
impl Sync for SpoofedSyscall
impl Unpin for SpoofedSyscall
impl UnwindSafe for SpoofedSyscall
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