Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | style police | comex | 2015-07-16 | 12 | -45/+94 |
| | |||||
* | work around (incorrect, since it's not code) alignment warning | comex | 2015-07-16 | 1 | -1/+1 |
| | |||||
* | fix accidentally exported symbols | comex | 2015-07-16 | 2 | -2/+2 |
| | |||||
* | typo | comex | 2015-07-16 | 1 | -1/+1 |
| | |||||
* | ordering | comex | 2015-07-16 | 1 | -8/+8 |
| | |||||
* | Import some code to handle <redacted> syms. | comex | 2015-07-16 | 2 | -11/+199 |
| | |||||
* | hook up the list of dylibs | comex | 2015-07-13 | 2 | -0/+9 |
| | |||||
* | don't be n^2 for removal, lol. i should probably switch to rust's robin ↵ | comex | 2015-07-12 | 1 | -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. | ||||
* | fix my hash table algorithm - argh | comex | 2015-07-12 | 1 | -14/+35 |
| | |||||
* | fixes | comex | 2015-07-12 | 1 | -0/+4 |
| | |||||
* | redo crash reporting - untested (but it compiles) | comex | 2015-07-12 | 2 | -21/+41 |
| | |||||
* | how did that style violation get in there? must have been tired | comex | 2015-07-12 | 1 | -4/+8 |
| | |||||
* | working on safety | comex | 2015-07-11 | 1 | -5/+18 |
| | |||||
* | fix anti-noise | comex | 2015-07-11 | 1 | -1/+4 |
| | |||||
* | stuff! | comex | 2015-07-10 | 3 | -5/+6 |
| | |||||
* | redo all the things with xpc - not tested yet | comex | 2015-07-07 | 1 | -0/+63 |
| | |||||
* | tests | comex | 2015-07-07 | 1 | -0/+4 |
| | |||||
* | fix for compiling objc-asm.S on ARM with newer Apple compiler | comex | 2015-04-15 | 1 | -1/+1 |
| | |||||
* | fixes for compiling on older OS X | comex | 2015-03-03 | 2 | -1/+6 |
| | |||||
* | A number of critical fixes painstakingly discovered in the slowest way possible. | comex | 2015-03-01 | 12 | -23/+39 |
| | |||||
* | fix stack alignment | comex | 2015-03-01 | 1 | -3/+6 |
| | |||||
* | Let's get hacky! | comex | 2015-03-01 | 1 | -3/+16 |
| | |||||
* | make jump-dis use a vec as a stack, rather than a hacky queue | comex | 2015-03-01 | 2 | -26/+18 |
| | |||||
* | add vec | comex | 2015-03-01 | 4 | -9/+156 |
| | |||||
* | Add extra argument to substitute_hook_functions and interpose_imports for ↵ | comex | 2015-02-28 | 4 | -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. | ||||
* | fix accidental usage of panic() from mach/mach.h instead of substitute_panic | comex | 2015-02-28 | 2 | -7/+9 |
| | |||||
* | Add substituted and fix things up to use it. Still untested. | comex | 2015-02-28 | 1 | -0/+5 |
| | |||||
* | Rename ios-bootstrap to darwin-bootstrap; cleanup posixspawn-hook and ↵ | comex | 2015-02-28 | 1 | -145/+0 |
| | | | | | | unrestrict. Not tested yet. | ||||
* | fix (and make more robust) strerror.c | comex | 2015-02-24 | 3 | -14/+20 |
| | |||||
* | Add unaligned read/write functions. | comex | 2015-02-24 | 7 | -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. | ||||
* | fix armv7 syscall registers :o | comex | 2015-02-24 | 1 | -1/+6 |
| | |||||
* | fix "panic" in substrate-compat.c | comex | 2015-02-24 | 1 | -4/+4 |
| | |||||
* | fix arm64/armv7 ish | comex | 2015-02-24 | 5 | -6/+13 |
| | |||||
* | Add transform-dis-cases-arm64.S and fix a serious bug thus discovered. | comex | 2015-02-23 | 1 | -3/+3 |
| | | | | Commit transform-dis-cases-x86_64.S, which I forgot to earlier. | ||||
* | Ban calls within transform regions in threadsafe mode. | comex | 2015-02-23 | 14 | -37/+104 |
| | |||||
* | fix some i386 stuff | comex | 2015-02-23 | 3 | -43/+56 |
| | |||||
* | fix i386 manual syscall, mmap return check | comex | 2015-02-23 | 2 | -5/+9 |
| | |||||
* | Fix vm_remap, of trouble with which the previous diagnosis was completely ↵ | comex | 2015-02-23 | 1 | -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. | ||||
* | remove old comment | comex | 2015-02-23 | 1 | -5/+0 |
| | |||||
* | and avoid call to pthreads | comex | 2015-02-23 | 1 | -1/+5 |
| | |||||
* | Redo manual syscalls, and use them for hooking.. And fix mmap, which now ↵ | comex | 2015-02-23 | 4 | -84/+114 |
| | | | | makes the whole thing slightly broken, because vm_remap into the middle of the shared region apparently silently does nothing. | ||||
* | various fixes | comex | 2015-02-18 | 6 | -55/+61 |
| | |||||
* | er, don't unnecessarily spam thread start/resume. | comex | 2015-02-18 | 1 | -27/+34 |
| | |||||
* | Fix hook-function: | comex | 2015-02-18 | 9 | -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. | ||||
* | more fixes | comex | 2015-02-15 | 3 | -20/+48 |
| | |||||
* | fix test cases | comex | 2015-02-14 | 2 | -2/+2 |
| | |||||
* | Trampoline fixes. | comex | 2015-02-14 | 10 | -48/+86 |
| | | | | | | | | | | | | | The transformed code was incorrect because it assumed the pointer it was writing to was where the code would execute, but it was actually 'rewritten_temp'. Changed transform_dis_main to take a pc_trampoline pointer, which also helps the test harness. However, this means that it has to be called after the trampoline has been allocated, while before the trampoline allocation depended on the generated size; this change doesn't bother to use two passes or anything, but just allocates a new code buffer if the maximum possible size isn't available - not the end of the world, since trampoline_ptr will still only be increased by the actual size before the next hook in the series (if any). | ||||
* | theoretically support x86 PIC | comex | 2015-02-09 | 1 | -14/+46 |
| | |||||
* | call vs. branch fixes on ARM (though really I should just ignore calls) | comex | 2015-02-09 | 2 | -4/+2 |
| | |||||
* | add transform-dis-{i386,x86_64} to makefile - fix a missing UNUSED | comex | 2015-02-09 | 1 | -0/+1 |
| |