#[repr(C)]pub struct Config {Show 29 fields
pub rtl_user_addr: *const c_void,
pub rtl_user_thread_size: u64,
pub base_thread_addr: *const c_void,
pub base_thread_size: u64,
pub first_frame_fp: *const c_void,
pub second_frame_fp: *const c_void,
pub jmp_rbx_gadget: *const c_void,
pub add_rsp_gadget: *const c_void,
pub first_frame_size: u64,
pub second_frame_size: u64,
pub jmp_rbx_frame_size: u64,
pub add_rsp_frame_size: u64,
pub rbp_stack_offset: u64,
pub spoof_function: *const c_void,
pub return_address: *const c_void,
pub is_syscall: u32,
pub ssn: u32,
pub number_args: u64,
pub arg01: *const c_void,
pub arg02: *const c_void,
pub arg03: *const c_void,
pub arg04: *const c_void,
pub arg05: *const c_void,
pub arg06: *const c_void,
pub arg07: *const c_void,
pub arg08: *const c_void,
pub arg09: *const c_void,
pub arg10: *const c_void,
pub arg11: *const c_void,
}Expand description
Config struct read by the asm trampoline. Layout must match
src/asm/{msvc,gnu}/synthetic.asm and desync.asm byte-for-byte.
Field reordering will corrupt argument passing — do not touch.
Fields§
§rtl_user_addr: *const c_void§rtl_user_thread_size: u64§base_thread_addr: *const c_void§base_thread_size: u64§first_frame_fp: *const c_void§second_frame_fp: *const c_void§jmp_rbx_gadget: *const c_void§add_rsp_gadget: *const c_void§first_frame_size: u64§second_frame_size: u64§jmp_rbx_frame_size: u64§add_rsp_frame_size: u64§rbp_stack_offset: u64§spoof_function: *const c_void§return_address: *const c_void§is_syscall: u32§ssn: u32§number_args: u64§arg01: *const c_void§arg02: *const c_void§arg03: *const c_void§arg04: *const c_void§arg05: *const c_void§arg06: *const c_void§arg07: *const c_void§arg08: *const c_void§arg09: *const c_void§arg10: *const c_void§arg11: *const c_voidTrait Implementations§
Auto Trait Implementations§
impl !Send for Config
impl !Sync for Config
impl Freeze for Config
impl RefUnwindSafe for Config
impl Unpin for Config
impl UnsafeUnpin for Config
impl UnwindSafe for Config
Blanket Implementations§
Source§impl<T> AsPointer for T
impl<T> AsPointer for T
fn as_ptr_const(&self) -> *const c_void
fn as_ptr_mut(&mut self) -> *mut c_void
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