Skip to content
Syscall BSD#539

svc · unix #539

task_read_for_pid

Retourne un port task de saveur « read » pour le PID donné — suffisant pour inspecter la mémoire mais pas pour la modifier.

Prototype

int task_read_for_pid(mach_port_name_t target_tport, int pid, mach_port_name_t *t);

Retour: int

Arguments

NameTypeDirDescription
target_tportmach_port_name_t-
pidint-
tmach_port_name_t-

Historique des versions

XNU tagmacOS#
xnu-7195.50.7.100.1macOS 11.0 Big Sur539
xnu-8019.41.5macOS 12.0 Monterey539
xnu-8792.41.9macOS 13.0 Ventura539
xnu-10002.1.13macOS 14.0 Sonoma539
xnu-11215.1.10macOS 15.0 Sequoia539
xnu-11417.101.15macOS 15.4 Sequoia539
xnu-12377.1.9macOS 26.0 Tahoe539
xnu-10002.41.9539
xnu-10002.61.3539
xnu-10002.81.5539
xnu-10063.101.15539
xnu-10063.121.3539
xnu-10063.141.1539
xnu-11215.41.3539
xnu-11215.61.5539
xnu-11215.81.4539
xnu-11417.121.6539
xnu-11417.140.69539
xnu-12377.101.15539
xnu-12377.41.6539
xnu-12377.61.12539
xnu-12377.81.4539
xnu-7195.101.1539
xnu-7195.121.3539
xnu-7195.141.2539
xnu-7195.60.75539
xnu-7195.81.3539
xnu-8019.61.5539
xnu-8019.80.24539
xnu-8020.101.4539
xnu-8020.121.3539
xnu-8020.140.41539
xnu-8792.61.2539
xnu-8792.81.2539
xnu-8796.101.5539
xnu-8796.121.2539
xnu-8796.141.3539

Notes

Ajouté dans macOS 11.3 avec la séparation read/inspect, ce flavor accorde mach_vm_read, mach_vm_region, thread_get_state et les introspections équivalentes sans permettre d'écritures, de création de threads, ni de détournement de port d'exception. Les outils qui n'ont besoin que de symboliser des stacks (sample, leaks, heap, vmmap) demandent le port read pour rester hors de la barrière get-task-allow de SIP quand c'est possible. Les règles d'autorisation reflètent task_for_pid (taskgated + AMFI + entitlement), mais la surface exposée est bien plus étroite.

Détection

Endpoint Security expose ES_EVENT_TYPE_NOTIFY_GET_TASK_READ et la variante AUTH depuis macOS 11.3. Les systèmes antérieurs à 11.3 ne supportent pas ce trap. La sonde DTrace mach_trap couvre ce qu'ES ne voit pas.

API associées

task_for_pidtask_name_for_pidtask_inspect_for_pidmach_vm_readthread_get_state