aboutsummaryrefslogtreecommitdiff
path: root/lib/hook-functions.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove dead code for Vita: pc_callbackReiko Asakura2021-03-211-37/+4
|
* Port to Vita Development SuiteReiko Asakura2021-01-231-1/+0
|
* Fixed defination of CC_CBXZ collides with other bitsYifan Lu2016-11-231-1/+3
| | | | | | | | | Fixed incorrect pc value in tdctx_to_actx Fixed ARM32 handling of CC_CBXZ (uses incorrect field in ctx->base) Fixed ARM32 transform_dis_branch incorrectly trashing LR for non-call based jumps Fixed ARM32 make_jump_patch not updated to use new assemble_ctx Added new option SUBSTITUTE_RELAXED to relax the disassembly engine Currently SUBSTITUTE_RELAXED only disables TRANSFORM_DIS_REL_JUMPS so jumps at the beginning of functions are allowed
* Added passing of the opt data to recordsYifan Lu2016-10-261-1/+2
|
* Set outro pointer to use mirrored addressYifan Lu2016-10-241-1/+2
|
* Forgot NULL pointer checkYifan Lu2016-10-231-4/+6
|
* Added exemem for VitaYifan Lu2016-10-181-2/+1
| | | | Removed unneeded field for hooks
* Added basic hook removal supportYifan Lu2016-10-091-0/+36
|
* Slab allocation mirroring for VitaYifan Lu2016-10-091-12/+5
|
* Added slab allocator for trampoline in Vita platformYifan Lu2016-10-081-8/+17
| | | | Added support for smaller (non-page) allocations for trampoline
* Added support for platform specific aux data to execmemYifan Lu2016-10-081-9/+13
|
* Support using a different VMA for the hook destYifan Lu2016-10-051-1/+2
|
* Changed malloc in substitute_hook_functions to allocaYifan Lu2016-10-051-2/+2
|
* execmem_alloc_unsealed now outputs a separate pointer for exec and writing ↵Yifan Lu2016-10-051-18/+29
| | | | to allow for mirrored writes
* Fixed missing trampoline_size_left decrement for making initial trampoline jumpYifan Lu2016-10-051-0/+4
| | | | Added comment about min exec page size requirement
* Added option to removed pthread dependencyYifan Lu2016-10-041-0/+6
| | | | | Added option to remove dynamic linker stuff Fixed a reference in strerror.c that depends on __APPLE__ being defined
* style policecomex2015-07-161-6/+12
|
* stuff!comex2015-07-101-2/+2
|
* A number of critical fixes painstakingly discovered in the slowest way possible.comex2015-03-011-7/+10
|
* Add extra argument to substitute_hook_functions and interpose_imports for ↵comex2015-02-281-1/+6
| | | | | | | | | | 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.
* Ban calls within transform regions in threadsafe mode.comex2015-02-231-1/+2
|
* various fixescomex2015-02-181-44/+46
|
* Fix hook-function:comex2015-02-181-44/+31
| | | | | | | | | | - 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.
* Trampoline fixes.comex2015-02-141-29/+29
| | | | | | | | | | | | | 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).
* Refactor disassembly so x86 works, and add x86 transform-dis.comex2015-02-081-2/+2
| | | | | | | | | | 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.
* fix ARM64 too, theoreticallycomex2015-02-031-12/+15
|
* fix my utter failure to handle branches/conditionals correctly (on ARM)comex2015-02-011-3/+3
|
* fix strerrorcomex2015-01-251-1/+1
|
* fixescomex2015-01-251-9/+20
|
* fixescomex2015-01-241-4/+7
|
* it compiles...comex2015-01-241-40/+41
|
* ...comex2015-01-241-10/+237
|
* Add function to deal with mprotecting RW and back. A bit more complex than ↵comex2015-01-241-0/+2
| | | | | | the minimum would be... (and minor build fixes)
* stopping other threads.comex2015-01-211-0/+32