@@ -63,17 +63,17 @@ def ql_syscall_fgetattrlist(ql, fd, alist, attributeBuffer, bufferSize, options,
6363
6464 if len (attr ) > bufferSize :
6565 logging .debug ("Length error" )
66- ql . os . definesyscall_return ( 1 )
66+ return 1
6767 else :
6868
6969 ql .mem .write (attributeBuffer , attr )
7070 #set_eflags_cf(ql, 0x0)
71- ql . os . definesyscall_return ( KERN_SUCCESS )
71+ return KERN_SUCCESS
7272
7373
7474def ql_syscall_poll (ql , target , address , size , * args , ** kw ):
75- ql .os .definesyscall_return (KERN_SUCCESS )
7675 logging .info ("pool()" )
76+ return KERN_SUCCESS
7777
7878
7979################
@@ -90,12 +90,12 @@ def ql_syscall_kernelrpc_mach_vm_allocate_trap(ql, port, addr, size, flags, *arg
9090 ql .os .macho_task .min_offset = mmap_end
9191 logging .debug ("[+] vm alloc form 0x%x to 0x%0x" % (mmap_address , mmap_end ))
9292 ql .mem .write (addr , struct .pack ("<Q" , mmap_address ))
93- ql . os . definesyscall_return ( 0 )
93+ return 0
9494
9595# 0xc
9696def ql_syscall_kernelrpc_mach_vm_deallocate_trap (ql , target , address , size , * args , ** kw ):
97- ql .os .definesyscall_return (KERN_SUCCESS )
9897 logging .debug ("[+] [mach] mach vm deallocate trap" )
98+ return KERN_SUCCESS
9999
100100# 0xf
101101def ql_syscall_kernelrpc_mach_vm_map_trap (ql , target , address , size , mask , flags , cur_protection ):
@@ -114,7 +114,7 @@ def ql_syscall_kernelrpc_mach_vm_map_trap(ql, target, address, size, mask, flags
114114 ql .os .macho_vmmap_end = vmmap_end
115115 ql .mem .map (vmmap_address , vmmap_end - vmmap_address )
116116 ql .mem .write (address , struct .pack ("<Q" , vmmap_address ))
117- ql . os . definesyscall_return ( KERN_SUCCESS )
117+ return KERN_SUCCESS
118118
119119# 0x12
120120def ql_syscall_kernelrpc_mach_port_deallocate_trap (ql , * args , ** kw ):
@@ -136,26 +136,26 @@ def ql_syscall_kernelrpc_mach_port_construct_trap(ql, target, options, context,
136136
137137# 0x1a
138138def ql_syscall_mach_reply_port (ql , * args , ** kw ):
139- ql .os .definesyscall_return (ql .os .macho_mach_port .name )
140139 logging .debug ("[+] [mach] mach reply port , ret: %s" % (ql .os .macho_mach_port .name ))
140+ return ql .os .macho_mach_port .name
141141
142142# 0x1b
143143def ql_syscall_thread_self_trap (ql , * args , ** kw ):
144144 port_manager = ql .os .macho_port_manager
145145 thread_port = port_manager .get_thread_port (ql .os .macho_thread )
146146 logging .debug ("[+] [mach] thread_self_trap: ret: %s" % (thread_port ))
147- ql . os . definesyscall_return ( thread_port )
147+ return thread_port
148148
149149# 0x1c
150150def ql_syscall_task_self_trap (ql , * args , ** kw ):
151- ql .os .definesyscall_return (ql .os .macho_task .id )
152151 logging .debug ("[+] [mach] task self trap, ret: %d" % (ql .os .macho_task .id ))
152+ return ql .os .macho_task .id
153153
154154# 0x1d
155155def ql_syscall_host_self_trap (ql , * args , ** kw ):
156156 port_manager = ql .os .macho_port_manager
157- ql .os .definesyscall_return ( port_manager .host_port .name )
158- logging . debug ( "[+] [mach] host_self_trap, ret: %s" % ( 666 ))
157+ logging . debug ( "[+] [mach] host_self_trap, ret: %s" % ( ql .os .macho_port_manager .host_port .name ) )
158+ return port_manager . host_port . name
159159
160160# 0x1f
161161def ql_syscall_mach_msg_trap (ql , args , opt , ssize , rsize , rname , timeout ):
@@ -165,7 +165,7 @@ def ql_syscall_mach_msg_trap(ql, args, opt, ssize, rsize, rname, timeout):
165165 mach_msg .read_msg_from_mem (args , ssize )
166166 logging .debug ("[+] Recv-> Header: %s, Content: %s" % (mach_msg .header , mach_msg .content ))
167167 ql .os .macho_port_manager .deal_with_msg (mach_msg , args )
168- ql . os . definesyscall_return ( 0 )
168+ return 0
169169
170170
171171#################
@@ -178,9 +178,9 @@ def ql_syscall_access_macos(ql, path, flags, *args, **kw):
178178 logging .info ("access(%s, 0x%x)" % (path_str , flags ))
179179 logging .debug ("[+] access(path: %s, flags: 0x%x)" % (path_str , flags ))
180180 if not ql .os .macho_fs .isexists (path_str ):
181- ql . os . definesyscall_return ( ENOENT )
181+ return ENOENT
182182 else :
183- ql . os . definesyscall_return ( KERN_SUCCESS )
183+ return KERN_SUCCESS
184184
185185# 0x30
186186def ql_syscall_sigprocmask (ql , how , mask , omask , * args , ** kw ):
@@ -204,7 +204,7 @@ def ql_syscall_fcntl64_macos(ql, fcntl_fd, fcntl_cmd, fcntl_arg, *args, **kw):
204204 regreturn = 0
205205
206206 logging .info ("fcntl64(fd: %d, cmd: %d, arg: 0x%x) = %d" % (fcntl_fd , fcntl_cmd , fcntl_arg , regreturn ))
207- ql . os . definesyscall_return ( regreturn )
207+ return regreturn
208208
209209# 0x99
210210def ql_syscall_pread (ql , fd , buf , nbyte , offset , * args , ** kw ):
@@ -216,7 +216,7 @@ def ql_syscall_pread(ql, fd, buf, nbyte, offset, *args, **kw):
216216 data = ql .os .fd [fd ].read (nbyte )
217217 ql .mem .write (buf , data )
218218 set_eflags_cf (ql , 0x0 )
219- ql . os . definesyscall_return ( nbyte )
219+ return nbyte
220220
221221# 0xa9
222222def ql_syscall_csops (ql , pid , ops , useraddr , usersize , * args , ** kw ):
@@ -225,7 +225,7 @@ def ql_syscall_csops(ql, pid, ops, useraddr, usersize, *args, **kw):
225225 logging .info ("csops(pid: %d, ops: 0x%x, useraddr: 0x%x, usersize: 0x%x) flag: 0x%x" % (
226226 pid , ops , useraddr , usersize , ((CS_ENFORCEMENT | CS_GET_TASK_ALLOW ))
227227 ))
228- ql . os . definesyscall_return ( KERN_SUCCESS )
228+ return KERN_SUCCESS
229229
230230# 0xdc
231231def ql_syscall_getattrlist (ql , path , alist , attributeBuffer , bufferSize , options , * args , ** kw ):
@@ -264,11 +264,11 @@ def ql_syscall_getattrlist(ql, path, alist, attributeBuffer, bufferSize, options
264264
265265 if len (attr ) > bufferSize :
266266 logging .debug ("Length error" )
267- ql . os . definesyscall_return ( 1 )
267+ return 1
268268 else :
269269 ql .mem .write (attributeBuffer , attr )
270270 set_eflags_cf (ql , 0x0 )
271- ql . os . definesyscall_return ( KERN_SUCCESS )
271+ return KERN_SUCCESS
272272
273273# 0xc2
274274# struct rlimit {
@@ -282,7 +282,7 @@ def ql_syscall_getrlimit(ql, which, rlp, *args, **kw):
282282 RLIM_NLIMITS = 9
283283 which = which & _RLIMIT_POSIX_FLAG
284284 if which >= RLIM_NLIMITS :
285- ql . os . definesyscall_return ( EINVAL )
285+ return EINVAL
286286 else :
287287 ql .mem .write (rlp , b'\x00 \x13 \x00 \x00 \x00 \x00 \x00 \x00 ' ) # rlim_cur
288288 ql .mem .write (rlp , b'\xFF \xFF \xFF \xFF \xFF \xFF \xFF \x7F ' ) # rlim_max
@@ -343,14 +343,14 @@ def ql_syscall_mmap2_macos(ql, mmap2_addr, mmap2_length, mmap2_prot, mmap2_flags
343343 regreturn = mmap_base
344344 logging .debug ("[+] mmap_base is 0x%x" % regreturn )
345345
346- ql . os . definesyscall_return ( regreturn )
346+ return regreturn
347347
348348# 0xca
349349def ql_syscall_sysctl (ql , name , namelen , old , oldlenp , new_arg , newlen ):
350350 logging .info ("sysctl(name: 0x%x, namelen: 0x%x, old: 0x%x, oldlenp: 0x%x, new: 0x%x, newlen: 0x%x)" % (
351351 name , namelen , old , oldlenp , new_arg , newlen
352352 ))
353- ql . os . definesyscall_return ( KERN_SUCCESS )
353+ return KERN_SUCCESS
354354
355355# 0x112
356356def ql_syscall_sysctlbyname (ql , name , namelen , old , oldlenp , new_arg , newlen ):
@@ -360,14 +360,14 @@ def ql_syscall_sysctlbyname(ql, name, namelen, old, oldlenp, new_arg, newlen):
360360 logging .debug ("[+] sysctlbyname(name: 0x%x, namelen: 0x%x, old: 0x%x, oldlenp: 0x%x, new: 0x%x, newlen: 0x%x)" % (
361361 name , namelen , old , oldlenp , new_arg , newlen
362362 ))
363- ql . os . definesyscall_return ( KERN_SUCCESS )
363+ return KERN_SUCCESS
364364
365365# 0x126
366366# check shared region if avalible , return not ready every time
367367def ql_syscall_shared_region_check_np (ql , p , uap , retvalp , * args , ** kw ):
368368 logging .info ("shared_region_check_np(0x%x, 0x%x, 0x%x) = 0x%x" % (p , uap , retvalp , EINVAL ))
369369 logging .debug ("[+] shared_region_check_np(p: 0x%x, uap: 0x%x, retvalp: 0x%x) = 0x%x" % (p , uap , retvalp , EINVAL ))
370- ql . os . definesyscall_return ( EINVAL )
370+ return EINVAL
371371
372372# 0x150
373373def ql_syscall_proc_info (ql , callnum , pid , flavor , arg , buff , buffer_size ):
@@ -436,7 +436,7 @@ def ql_syscall_stat64_macos(ql, stat64_pathname, stat64_buf_ptr, *args, **kw):
436436 logging .debug ("[+] stat64 write completed" )
437437 else :
438438 logging .debug ("[!] stat64 read/write fail" )
439- ql . os . definesyscall_return ( regreturn )
439+ return regreturn
440440
441441# 0x153
442442def ql_syscall_fstat64_macos (ql , fstat64_fd , fstat64_add , * args , ** kw ):
@@ -502,18 +502,18 @@ def ql_syscall_fstat64_macos(ql, fstat64_fd, fstat64_add, *args, **kw):
502502 logging .debug ("[+] fstat64 write completed" )
503503 else :
504504 logging .debug ("[!] fstat64 read/write fail" )
505- ql . os . definesyscall_return ( regreturn )
505+ return regreturn
506506
507507# 0x16e
508508def ql_syscall_bsdthread_register (ql , threadstart , wqthread , flags , stack_addr_hint , targetconc_ptr , dispatchqueue_offset ):
509509 set_eflags_cf (ql , 0x0 )
510- ql . os . definesyscall_return ( 0x00000000400000df )
510+ return 0x00000000400000df
511511
512512# 0x174
513513def ql_syscall_thread_selfid (ql , * args , ** kw ):
514514 thread_id = ql .os .macho_thread .id
515515 logging .info ("thread_selfid() = %d" % (thread_id ))
516- ql . os . definesyscall_return ( thread_id )
516+ return thread_id
517517
518518
519519# 0x18d
@@ -574,7 +574,7 @@ def ql_syscall_open_nocancel(ql, filename, flags, mode, *args, **kw):
574574 logging .debug ("[+] File Found: %s" % relative_path )
575575 else :
576576 logging .debug ("[!] File Not Found %s" % relative_path )
577- ql . os . definesyscall_return ( regreturn )
577+ return regreturn
578578
579579# 0x1b6
580580def ql_syscall_shared_region_map_and_slide_np (ql , fd , count , mappings_addr , slide , slide_start , slide_size ):
@@ -593,19 +593,19 @@ def ql_syscall_shared_region_map_and_slide_np(ql, fd, count, mappings_addr, slid
593593 ql .mem .write (mapping .sfm_address , content )
594594 mappings_addr += mapping .size
595595 mapping_list .append (mapping )
596- ql . os . definesyscall_return ( slide_size )
596+ return slide_size
597597
598598# 0x1e3
599599def ql_syscall_csrctl (ql , op , useraddr , usersize , * args , ** kw ):
600600 logging .info ("csrctl(0x%x, 0x%x, 0x%x)" % (op , useraddr , usersize ))
601601 logging .debug ("csrctl(op: 0x%x, useraddr :0x%x, usersize: 0x%x)" % (op , useraddr , usersize ))
602- ql . os . definesyscall_return ( 1 )
602+ return 1
603603
604604# 0x1f4
605605def ql_syscall_getentropy (ql , buffer , size , * args , ** kw ):
606606 logging .info ("getentropy(0x%x, 0x%x)" % (buffer , size ))
607607 logging .debug ("[+] getentropy(buffer: 0x%x, size: 0x%x)" % (buffer , size ))
608- ql . os . definesyscall_return ( KERN_SUCCESS )
608+ return KERN_SUCCESS
609609
610610# 0x208
611611def ql_syscall_terminate_with_payload (ql , pid , reason_namespace , reason_code , payload , payload_size , reason_string ):
@@ -615,9 +615,9 @@ def ql_syscall_terminate_with_payload(ql, pid, reason_namespace, reason_code, pa
615615 logging .debug ("[+] terminate_with_payload(pid: %d, reason_namespace: 0x%x, reason_code: 0x%x, payload: 0x%x \
616616 payload_size: 0x%x, reason_string: 0x%x)" % (pid , reason_namespace , reason_code ,
617617 payload , payload_size , reason_string ))
618- ql .os .definesyscall_return (KERN_SUCCESS )
619618 ql .emu_stop ()
620619 raise QlErrorSyscallError ("[!] Exit with Error" )
620+ return KERN_SUCCESS
621621
622622# 0x209
623623def ql_syscall_abort_with_payload (ql , reason_namespace , reason_code , payload , payload_size , reason_string , reason_flags ):
@@ -626,7 +626,7 @@ def ql_syscall_abort_with_payload(ql, reason_namespace, reason_code, payload, pa
626626
627627 logging .debug ("[+] abort_with_payload(reason_namespace: 0x%x, reason_code: 0x%x, payload: 0x%x, payload_size: 0x%x, reason_string: 0x%x,\
628628 reason_flags: 0x%x)" % (reason_namespace , reason_code , payload , payload_size , reason_string , reason_flags ))
629- ql . os . definesyscall_return ( KERN_SUCCESS )
629+ return KERN_SUCCESS
630630
631631
632632
@@ -639,5 +639,4 @@ def ql_syscall_abort_with_payload(ql, reason_namespace, reason_code, payload, pa
639639def ql_syscall_thread_fast_set_cthread_self64 (ql , u_info_addr , * args , ** kw ):
640640 logging .debug ("[+] [mdep] thread fast set cthread self64(tsd_base:0x%x)" % (u_info_addr ))
641641 ql .reg .msr (GSMSR , u_info_addr )
642- ql .os .definesyscall_return (KERN_SUCCESS )
643- return
642+ return KERN_SUCCESS
0 commit comments