mirror of https://github.com/geohot/qira
bump osx_syscalls
This commit is contained in:
parent
bb28f6d8e2
commit
f659a0f662
|
@ -1,9 +1,9 @@
|
|||
#!/usr/bin/env python
|
||||
from urllib import urlopen
|
||||
syscalls_master = urlopen("http://www.opensource.apple.com/source/xnu/xnu-2422.110.17/bsd/kern/syscalls.master?txt").read()
|
||||
syscalls_master = urlopen("http://www.opensource.apple.com/source/xnu/xnu-2782.10.72/bsd/kern/syscalls.master?txt").read()
|
||||
x = (i.strip().split(None, 3) for i in syscalls_master.splitlines() if i.strip() and i[0] not in '#;')
|
||||
x = ((i[0],i[3][i[3].index('{')+1:i[3].index('}')].strip()) for i in x if len(i) == 4)
|
||||
x = {int(k):v for k,v in x if v != 'int nosys(void);'}
|
||||
x = {int(k):v for k,v in x if v != 'int nosys(void);' and v != 'int enosys(void);'}
|
||||
|
||||
# Yay assumptions
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ enum argtype {
|
|||
ARG_UNKNOWN
|
||||
};
|
||||
|
||||
const int MAX_SYSCALL_NUM = 456;
|
||||
const int MAX_SYSCALL_NUM = 490;
|
||||
|
||||
struct syscall_entry {
|
||||
const char *name;
|
||||
|
@ -196,8 +196,8 @@ struct syscall_entry {
|
|||
{.name = "#176", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "#177", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "#178", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "#179", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "kdebug_trace", .nargs = 6, .args = { ARG_INT, ARG_INT, ARG_INT, ARG_INT, ARG_INT, ARG_INT, }},
|
||||
{.name = "kdebug_trace64", .nargs = 5, .args = { ARG_INT, ARG_INT, ARG_INT, ARG_INT, ARG_INT, }},
|
||||
{.name = "kdebug_trace", .nargs = 5, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "setgid", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "setegid", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "seteuid", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
|
@ -219,7 +219,7 @@ struct syscall_entry {
|
|||
{.name = "lseek", .nargs = 3, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "truncate", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "ftruncate", .nargs = 2, .args = { ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "__sysctl", .nargs = 6, .args = { ARG_UNKNOWN, ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
|
||||
{.name = "sysctl", .nargs = 6, .args = { ARG_UNKNOWN, ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
|
||||
{.name = "mlock", .nargs = 2, .args = { ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "munlock", .nargs = 2, .args = { ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "undelete", .nargs = 1, .args = { ARG_STR, }},
|
||||
|
@ -291,9 +291,9 @@ struct syscall_entry {
|
|||
{.name = "sem_wait", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "sem_trywait", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "sem_post", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "sem_getvalue", .nargs = 2, .args = { ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "sem_init", .nargs = 3, .args = { ARG_UNKNOWN, ARG_INT, ARG_INT, }},
|
||||
{.name = "sem_destroy", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "sysctlbyname", .nargs = 6, .args = { ARG_STR, ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
|
||||
{.name = "#275", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "#276", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "open_extended", .nargs = 6, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_INT, ARG_STR, }},
|
||||
{.name = "umask_extended", .nargs = 2, .args = { ARG_INT, ARG_STR, }},
|
||||
{.name = "stat_extended", .nargs = 4, .args = { ARG_STR, ARG_STR, ARG_STR, ARG_STR, }},
|
||||
|
@ -316,8 +316,8 @@ struct syscall_entry {
|
|||
{.name = "vm_pressure_monitor", .nargs = 3, .args = { ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "psynch_rw_longrdlock", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "psynch_rw_yieldwrlock", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "enosys", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "enosys", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "psynch_rw_downgrade", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "psynch_rw_upgrade", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "psynch_mutexwait", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "psynch_mutexdrop", .nargs = 5, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "psynch_cvbroad", .nargs = 7, .args = { ARG_STR, ARG_INT, ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_INT, }},
|
||||
|
@ -383,7 +383,7 @@ struct syscall_entry {
|
|||
{.name = "kevent", .nargs = 6, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "lchown", .nargs = 3, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "stack_snapshot", .nargs = 5, .args = { ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "bsdthread_register", .nargs = 6, .args = { ARG_STR, ARG_STR, ARG_INT, ARG_STR, ARG_STR, ARG_INT, }},
|
||||
{.name = "bsdthread_register", .nargs = 7, .args = { ARG_STR, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_STR, ARG_INT, ARG_INT, }},
|
||||
{.name = "workq_open", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "workq_kernreturn", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_INT, }},
|
||||
{.name = "kevent64", .nargs = 7, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
|
@ -398,7 +398,7 @@ struct syscall_entry {
|
|||
{.name = "#378", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "#379", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "__mac_execve", .nargs = 4, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "enosys", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "__mac_syscall", .nargs = 3, .args = { ARG_STR, ARG_INT, ARG_STR, }},
|
||||
{.name = "__mac_get_file", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "__mac_set_file", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "__mac_get_link", .nargs = 2, .args = { ARG_STR, ARG_UNKNOWN, }},
|
||||
|
@ -473,6 +473,40 @@ struct syscall_entry {
|
|||
{.name = "memorystatus_get_level", .nargs = 1, .args = { ARG_STR, }},
|
||||
{.name = "system_override", .nargs = 2, .args = { ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "vfs_purge", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "sfi_ctl", .nargs = 4, .args = { ARG_INT, ARG_INT, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "sfi_pidctl", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "coalition", .nargs = 3, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "coalition_info", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "necp_match_policy", .nargs = 3, .args = { ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "getattrlistbulk", .nargs = 5, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_INT, }},
|
||||
{.name = "#462", .nargs = 6, .args = { ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "openat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "openat_nocancel", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "renameat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_STR, }},
|
||||
{.name = "faccessat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "fchmodat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "fchownat", .nargs = 5, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, }},
|
||||
{.name = "fstatat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "fstatat64", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "linkat", .nargs = 5, .args = { ARG_INT, ARG_STR, ARG_INT, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "unlinkat", .nargs = 3, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "readlinkat", .nargs = 4, .args = { ARG_INT, ARG_STR, ARG_STR, ARG_INT, }},
|
||||
{.name = "symlinkat", .nargs = 3, .args = { ARG_STR, ARG_INT, ARG_STR, }},
|
||||
{.name = "mkdirat", .nargs = 3, .args = { ARG_INT, ARG_STR, ARG_INT, }},
|
||||
{.name = "getattrlistat", .nargs = 6, .args = { ARG_INT, ARG_STR, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "proc_trace_log", .nargs = 2, .args = { ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "bsdthread_ctl", .nargs = 4, .args = { ARG_STR, ARG_STR, ARG_STR, ARG_STR, }},
|
||||
{.name = "openbyid_np", .nargs = 3, .args = { ARG_STR, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "recvmsg_x", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "sendmsg_x", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "thread_selfusage", .nargs = 1, .args = { ARG_UNKNOWN, }},
|
||||
{.name = "csrctl", .nargs = 3, .args = { ARG_INT, ARG_STR, ARG_STR, }},
|
||||
{.name = "guarded_open_dprotected_np", .nargs = 7, .args = { ARG_STR, ARG_UNKNOWN, ARG_UNKNOWN, ARG_UNKNOWN, ARG_INT, ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "guarded_write_np", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, }},
|
||||
{.name = "guarded_pwrite_np", .nargs = 5, .args = { ARG_INT, ARG_UNKNOWN, ARG_STR, ARG_INT, ARG_UNKNOWN, }},
|
||||
{.name = "guarded_writev_np", .nargs = 4, .args = { ARG_INT, ARG_UNKNOWN, ARG_UNKNOWN, ARG_INT, }},
|
||||
{.name = "rename_ext", .nargs = 3, .args = { ARG_STR, ARG_STR, ARG_UNKNOWN, }},
|
||||
{.name = "mremap_encrypted", .nargs = 5, .args = { ARG_UNKNOWN, ARG_INT, ARG_INT, ARG_INT, ARG_INT, }},
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
Loading…
Reference in New Issue