aboutsummaryrefslogtreecommitdiff
path: root/test (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-11-15I don't remember what this test is forcomex1-0/+100
2016-11-15fix some ARM stuff including calls, and test itcomex5-11/+29
wow this code sucks
2015-08-07add VEC_STORAGE_INIT_STATIC to match the HTAB onecomex1-1/+1
2015-08-07fix vec.h bugcomex1-0/+1
2015-07-12fix my hash table algorithm - arghcomex1-1/+31
2015-07-12fixescomex1-2/+4
2015-03-01add veccomex1-0/+23
2015-02-28Add extra argument to substitute_hook_functions and interpose_imports for ↵comex2-2/+3
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-23Add transform-dis-cases-arm64.S and fix a serious bug thus discovered.comex2-0/+48
Commit transform-dis-cases-x86_64.S, which I forgot to earlier.
2015-02-23Ban calls within transform regions in threadsafe mode.comex3-4/+25
2015-02-23Fix vm_remap, of trouble with which the previous diagnosis was completely ↵comex1-0/+11
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-18various fixescomex1-1/+1
2015-02-18Fix hook-function:comex2-12/+21
- 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-14fix test casescomex1-4/+6
2015-02-14Trampoline fixes.comex2-11/+25
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).
2015-02-09test harnesscomex2-15/+151
2015-02-09morecomex2-3/+3
2015-02-08Fix other architectures compiling - haven't tried *running* anything..comex1-5/+5
2015-02-08Refactor disassembly so x86 works, and add x86 transform-dis.comex1-27/+14
This patch is a monolithic mess, because I was too lazy to do the refactor first (that would require some stash fun, since I wasn't actually sure before doing x86 transform-dis what would be needed). Anyway, the resulting code should be cleaner - less duplication. This breaks ARM/ARM64.
2015-02-08starting x86 supportcomex1-26/+61
2015-02-03fix ARM64 too, theoreticallycomex1-1/+1
2015-02-01fix my utter failure to handle branches/conditionals correctly (on ARM)comex3-8/+22
2015-01-30remove GNU-isms from cbitcomex1-0/+16
2015-01-29get rid of the unnecessary CoreFoundation dependencycomex2-6/+26
2015-01-29port some old codecomex1-0/+49
2015-01-28sortacomex1-0/+9
2015-01-25right, fix cleanup. (compared to the old system, this avoids busywaiting, ↵comex2-3/+36
and properly frees the thread resources)
2015-01-25this is dumbcomex1-2/+20
2015-01-25fix substrate-compat; check in testcomex1-0/+62
2015-01-24it compiles...comex2-2/+2
2015-01-24Add function to deal with mprotecting RW and back. A bit more complex than ↵comex2-0/+38
the minimum would be... (and minor build fixes)
2015-01-21stopping other threads.comex1-0/+34
2015-01-21minor cleanup - stop caring about thumb outside of arch-specific codecomex2-2/+12
(and fix makefile bug where files whose names contained 'arm' would always be ldid'd)
2015-01-21Some cleanup.comex1-1/+1
2015-01-21woo, inject seems to work on all platformscomex1-3/+3
2015-01-20...comex1-0/+17
2015-01-20progress on injectioncomex1-4/+3
2015-01-19more reorganization - move OS X/iOS specific stuff into its own directorycomex1-1/+1
2015-01-17ldrd/strd fix - we definitely need to know that in ldrd r0, r1, [pc], we ↵comex1-1/+1
can't use r1 as scratch
2015-01-17improve test; thumb2 fixescomex4-4/+54
2015-01-17IT, BX LR - untestedcomex1-0/+1
2015-01-17reorganizationcomex1-1/+1
2015-01-17interpose works; add testcomex1-0/+35
2015-01-17add an assertcomex1-0/+2
2015-01-17fixes and test - both tests work on all archscomex1-0/+46
2015-01-17imp forwarding workscomex1-9/+34
2015-01-16this is all wrong.comex1-3/+12
since we don't know whether it's stret, we don't mark the block stret. thus imp_implementationWithBlock doesn't do the stret/block swap, even though it would for a real block, so we can and must always assume the block is first
2015-01-16and now for something completely different: assembly maybestret-IMPLcomex1-0/+26
forwarding functions for atomicity
2015-01-16jump dis - seemingly working(!)comex4-25/+480
2015-01-13add a test assembly file, not used yetcomex1-0/+48