From b258239d9674ebae73868eeaeb4b674ca14270f0 Mon Sep 17 00:00:00 2001 From: comex Date: Sun, 22 Feb 2015 22:03:10 -0500 Subject: Redo manual syscalls, and use them for hooking.. And fix mmap, which now makes the whole thing slightly broken, because vm_remap into the middle of the shared region apparently silently does nothing. --- script/gen-manual-mach.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100755 script/gen-manual-mach.sh (limited to 'script') diff --git a/script/gen-manual-mach.sh b/script/gen-manual-mach.sh new file mode 100755 index 0000000..02f7eda --- /dev/null +++ b/script/gen-manual-mach.sh @@ -0,0 +1,13 @@ +#!/bin/bash +out=generated/manual-mach.inc.h +(mig -user /dev/stdout -server /dev/null -header /dev/null /usr/include/mach/{thread_act,vm_map}.defs | + unifdef -U__MigTypeCheck | + grep -v '#define USING_VOUCHERS' | + sed -E 's/(mach_msg|memcpy)\(/manual_\1(/g; + s/^\)/, mach_port_t reply_port)/; + s/mig_external kern_return_t /static kern_return_t manual_/; + s/_kernelrpc_//; + s/mig_get_reply_port\(\)/reply_port/g' | + awk 'BEGIN { on = 1 } + /^\/\* Routine / { on = /thread_[gs]et_state|vm_remap/; } + on { print }' > $out) || rm -f $out -- cgit v1.2.3