aboutsummaryrefslogtreecommitdiff
path: root/lib (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-07-16baton fixcomex1-2/+9
2015-07-16optimizationcomex1-2/+5
2015-07-16fix idiotic mistake from the <redacted> symbols commitcomex1-1/+1
2015-07-16Revert <stdatomic.h> dependency.comex1-10/+8
it was added in the otherwise cosmetic dfd16cc1f759a103707ebd27743abc621486e131 because I didn't change the generated code at all - just switched to the standard aliases of the functions I was already using. But I forgot that <stdatomic.h> isn't present in relatively recent Xcode, so I'm switching back for now.
2015-07-16Add options field to struct substitute_{function,import}_hook.comex1-2/+12
I will probably need to add an option to deal with GCC 5.2's new optimization - to not save caller-saved registers if the called function is known not to use them, which would break with hooked functions. Don't want to emit the required stub by default because it will likely be slow. I need to verify that Clang doesn't currently have such an optimization... (ABI break - need to avoid this once it gets widely distributed Soon, obviously)
2015-07-16style policecomex12-45/+94
2015-07-16work around (incorrect, since it's not code) alignment warningcomex1-1/+1
2015-07-16fix accidentally exported symbolscomex2-2/+2
2015-07-16typocomex1-1/+1
2015-07-16orderingcomex1-8/+8
2015-07-16Import some code to handle <redacted> syms.comex2-11/+199
2015-07-13hook up the list of dylibscomex2-0/+9
2015-07-12don't be n^2 for removal, lol. i should probably switch to rust's robin ↵comex1-21/+12
hood hashing - it isn't that much code and supposedly performs much better when the table gets full. *however*, it requires checking the hash of every entry in the chain during insert, which basically means storing it, which means more memory usage ... but by allowing fuller tables it could decrease memory usage. but if you have a big table anyway to avoid copying, you don't want *extra*... and storing the hash twice in the simple case is so dumb feeling. dunno.
2015-07-12fix my hash table algorithm - arghcomex1-14/+35
2015-07-12fixescomex1-0/+4
2015-07-12redo crash reporting - untested (but it compiles)comex2-21/+41
2015-07-12how did that style violation get in there? must have been tiredcomex1-4/+8
2015-07-11working on safetycomex1-5/+18
2015-07-11fix anti-noisecomex1-1/+4
2015-07-10stuff!comex3-5/+6
2015-07-07redo all the things with xpc - not tested yetcomex1-0/+63
2015-07-07testscomex1-0/+4
2015-04-15fix for compiling objc-asm.S on ARM with newer Apple compilercomex1-1/+1
2015-03-03fixes for compiling on older OS Xcomex2-1/+6
2015-03-01A number of critical fixes painstakingly discovered in the slowest way possible.comex12-23/+39
2015-03-01fix stack alignmentcomex1-3/+6
2015-03-01Let's get hacky!comex1-3/+16
2015-03-01make jump-dis use a vec as a stack, rather than a hacky queuecomex2-26/+18
2015-03-01add veccomex4-9/+156
2015-02-28Add extra argument to substitute_hook_functions and interpose_imports for ↵comex4-12/+68
use with unhooking. I think we'll need to explicitly record trampoline locations to avoid the possibility of stomping on someone else's stuff if the function was re-patched... Also, document substitute_hook_functions.
2015-02-28fix accidental usage of panic() from mach/mach.h instead of substitute_paniccomex2-7/+9
2015-02-28Add substituted and fix things up to use it. Still untested.comex1-0/+5
2015-02-28Rename ios-bootstrap to darwin-bootstrap; cleanup posixspawn-hook and ↵comex1-145/+0
unrestrict. Not tested yet.
2015-02-24fix (and make more robust) strerror.ccomex3-14/+20
2015-02-24Add unaligned read/write functions.comex7-8/+34
I thought I could get away without since I wasn't (presently) targeting systems without hardware support for unaligned accesses, but on armv7 clang insists on optimizing into the one ARM instruction that requires alignment anyway - LDM/STM. Oops. Damnit, clang.
2015-02-24fix armv7 syscall registers :ocomex1-1/+6
2015-02-24fix "panic" in substrate-compat.ccomex1-4/+4
2015-02-24fix arm64/armv7 ishcomex5-6/+13
2015-02-23Add transform-dis-cases-arm64.S and fix a serious bug thus discovered.comex1-3/+3
Commit transform-dis-cases-x86_64.S, which I forgot to earlier.
2015-02-23Ban calls within transform regions in threadsafe mode.comex14-37/+104
2015-02-23fix some i386 stuffcomex3-43/+56
2015-02-23fix i386 manual syscall, mmap return checkcomex2-5/+9
2015-02-23Fix vm_remap, of trouble with which the previous diagnosis was completely ↵comex1-10/+12
incorrect. It's actually the fact that no vm_map_server actually exists on the kernel side - even though the otherwise useless function vm_remap exists in the kernel source, and mig generates server code for it, apparently that server code isn't built or linked into the kobject table. Bizarre. Anyway, switch to mach_vm_remap, which is what vm_remap in userspace calls into.
2015-02-23remove old commentcomex1-5/+0
2015-02-23and avoid call to pthreadscomex1-1/+5
2015-02-23Redo manual syscalls, and use them for hooking.. And fix mmap, which now ↵comex4-84/+114
makes the whole thing slightly broken, because vm_remap into the middle of the shared region apparently silently does nothing.
2015-02-18various fixescomex6-55/+61
2015-02-18er, don't unnecessarily spam thread start/resume.comex1-27/+34
2015-02-18Fix hook-function:comex9-311/+466
- Thread stoppage is now complemented by sigaction to catch injected threads (sigaction is not used exclusively because the rest of the program could be trying to use sigaction itself in the meantime - this is a real thing, ask Dolphin) - mprotect is no longer used due to max_protection possibly getting in the way; instead, a copy is created and mapped onto the original.
2015-02-15more fixescomex3-20/+48