aboutsummaryrefslogtreecommitdiff
path: root/lib (follow)
Commit message (Collapse)AuthorAgeFilesLines
* fix some i386 stuffcomex2015-02-233-43/+56
|
* fix i386 manual syscall, mmap return checkcomex2015-02-232-5/+9
|
* Fix vm_remap, of trouble with which the previous diagnosis was completely ↵comex2015-02-231-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 commentcomex2015-02-231-5/+0
|
* and avoid call to pthreadscomex2015-02-231-1/+5
|
* Redo manual syscalls, and use them for hooking.. And fix mmap, which now ↵comex2015-02-234-84/+114
| | | | makes the whole thing slightly broken, because vm_remap into the middle of the shared region apparently silently does nothing.
* various fixescomex2015-02-186-55/+61
|
* er, don't unnecessarily spam thread start/resume.comex2015-02-181-27/+34
|
* Fix hook-function:comex2015-02-189-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 fixescomex2015-02-153-20/+48
|
* fix test casescomex2015-02-142-2/+2
|
* Trampoline fixes.comex2015-02-1410-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 PICcomex2015-02-091-14/+46
|
* call vs. branch fixes on ARM (though really I should just ignore calls)comex2015-02-092-4/+2
|
* add transform-dis-{i386,x86_64} to makefile - fix a missing UNUSEDcomex2015-02-091-0/+1
|
* Fix a broken bit test.comex2015-02-091-1/+3
|
* morecomex2015-02-095-40/+51
|
* Fix other architectures compiling - haven't tried *running* anything..comex2015-02-086-74/+85
|
* Refactor disassembly so x86 works, and add x86 transform-dis.comex2015-02-0820-197/+298
| | | | | | | | | | 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.
* formattingcomex2015-02-081-11/+17
|
* starting x86 supportcomex2015-02-0810-129/+341
|
* right, going to bedcomex2015-02-052-18/+78
|
* starting dis-tables.hcomex2015-02-051-0/+79
|
* Make the ARM branches actually go to the right place. I need automated ↵comex2015-02-032-3/+4
| | | | tests before stable.
* fix ARM64 too, theoreticallycomex2015-02-038-36/+107
|
* whoops, don't mean to always jump to thumb modecomex2015-02-011-1/+1
|
* formattingcomex2015-02-012-11/+19
|
* fix my utter failure to handle branches/conditionals correctly (on ARM)comex2015-02-0115-82/+276
|
* remove GNU-isms from cbitcomex2015-01-301-11/+30
|
* add README (and note to self to fix something)comex2015-01-301-0/+2
|
* ...comex2015-01-292-49/+3
|
* a bunch of stuff that should have been committed separatelycomex2015-01-292-13/+22
|
* add SUBSTITUTE_DONT_STOP_THREADS for substrate compat - substrate doesn't do ↵comex2015-01-291-1/+1
| | | | this, and they might not be on the main thread. though that would be gross.
* misc. fixescomex2015-01-291-1/+0
|
* get rid of the unnecessary CoreFoundation dependencycomex2015-01-292-45/+56
|
* port some old codecomex2015-01-293-1/+301
|
* ***yawn***comex2015-01-282-10/+13
|
* sortacomex2015-01-282-8/+27
|
* some more stuff compilescomex2015-01-287-36/+202
|
* right, fix cleanup. (compared to the old system, this avoids busywaiting, ↵comex2015-01-252-6/+49
| | | | and properly frees the thread resources)
* this is dumbcomex2015-01-255-103/+272
|
* fix strerrorcomex2015-01-253-2/+8
|
* fix substrate-compat; check in testcomex2015-01-251-3/+8
|
* fixescomex2015-01-256-21/+39
|
* fixescomex2015-01-241-4/+7
|
* it compiles...comex2015-01-249-101/+138
|
* ...comex2015-01-2414-157/+474
|
* Add function to deal with mprotecting RW and back. A bit more complex than ↵comex2015-01-248-65/+130
| | | | | | the minimum would be... (and minor build fixes)
* stopping other threads.comex2015-01-216-23/+234
|
* add substitute_strerrorcomex2015-01-213-6/+35
|