nix::sys::uio

Function process_vm_readv

source
pub fn process_vm_readv(
    pid: Pid,
    local_iov: &mut [IoSliceMut<'_>],
    remote_iov: &[RemoteIoVec],
) -> Result<usize>
Expand description

Read data directly from another process’s virtual memory (see process_vm_readv(2)).

local_iov is a list of IoSliceMuts containing the buffer to copy data into, and remote_iov is a list of RemoteIoVecs identifying where the source data is in the target process. On success, returns the number of bytes written, which will always be a whole number of remote_iov chunks.

This requires the same permissions as debugging the process using ptrace: you must either be a privileged process (with CAP_SYS_PTRACE), or you must be running as the same user as the target process and the OS must have unprivileged debugging enabled.

This function is only available on Linux and Android(SDK23+).