Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2023-02-10 | Add flag to support allocation of trampolines within 32-bit offset range of ↵ | Zeex | 1 | -12/+16 | |
target code on 64-bit Windows Plus minor formatting fixes and more documentation for flags. Fixes #9 | |||||
2022-03-09 | add cmp eax variant. | Luke Usher | 1 | -0/+1 | |
2020-11-11 | Make subhook_new() not fail on any trampoline-related error | Zeex | 1 | -17/+12 | |
2020-11-02 | Fix segfault in subhook_new() | Zeex | 1 | -8/+9 | |
This fixes #51. | |||||
2020-11-02 | Fix address overflow in trampoline | Zeex | 1 | -5/+5 | |
Allocate memory for storing the trampoline code via mmap() with MAP_32BIT flag to make sure that it stays withing 2GB range. Also, add missing calls to subhook_free() in the C test program (C++ calls it implicitly already via destructor). | |||||
2020-11-01 | Improve documentation comments | Zeex | 1 | -2/+8 | |
2020-11-01 | Fix possible NULL dereference | Zeex | 1 | -3/+1 | |
2020-11-01 | Fix RIP-relative address decoding | Zeex | 1 | -4/+5 | |
Some instructions were detected as using RIP-relative addressing, but in fact they did not. Example: 48 89 E5 mov rbp,rsp | |||||
2020-11-01 | Detect overflows when relocating 32-bit jumps inside trampoline on x64 | Zeex | 1 | -9/+22 | |
2020-11-01 | Simplify error handling in subhook_new() + clean up in instruction list | Zeex | 1 | -19/+26 | |
2020-10-31 | Implement additional CMP, DEC and FLD instructions | Silent | 1 | -0/+5 | |
Fixes broken trampolines encountered in Cxbx-Reloaded | |||||
2020-05-30 | Export subhook_disasm() | Zeex | 1 | -1/+1 | |
2019-06-28 | Merge branch 'master' into master | PatrickvL | 1 | -17/+61 | |
2018-11-22 | Cleanup and code style fixse | Zeex | 1 | -1/+2 | |
2018-11-22 | Add subhook_set_disasm_handler() | Zeex | 1 | -6/+10 | |
2018-11-04 | Add support for for XOR, ADD, AND, OR, ENTER, LEAVE, INT 3 | Zeex | 1 | -8/+48 | |
2018-10-02 | Add xor (0x33): Fixes SetRenderState_ZBias trampoline | Luke Usher | 1 | -0/+1 | |
2018-10-02 | Merge remote-tracking branch 'upstream/master' | Luke Usher | 1 | -48/+52 | |
2018-09-07 | Improve ABS() macro | Zeex | 1 | -1/+1 | |
2018-09-06 | Rename "options" to "flags" | Zeex | 1 | -13/+13 | |
2018-09-06 | Rename 64-bit jump code constants | Zeex | 1 | -9/+9 | |
2018-09-06 | Don't check for jmp offset overflow in 32-bit build (#33) | Zeex | 1 | -6/+6 | |
2018-09-06 | Fix missing return statement in 64-bit build | Zeex | 1 | -2/+2 | |
2018-09-03 | Clean up and improve comments | Zeex | 1 | -23/+26 | |
* Replace SUBHOOK_BITS equality comparisons with SUBHOOK_X86_64 macro definition checks (less error-prone) * Improve comments in subhook_disasm() and remove unused variable (address_size) * Update copyright year across all files | |||||
2018-03-23 | Add support for NOP (one-byte version) (#28) | Zeex | 1 | -1/+2 | |
2018-02-03 | Add DEC opcode, fixes Turok's DeletePixelShader trampoline | Luke Usher | 1 | -1/+2 | |
2018-01-30 | Add CMP r/m16/32m, imm8 to subhook. | Luke Usher | 1 | -0/+1 | |
Fixes an issue where some Xbox functions were not getting functioning trampolines. | |||||
2017-10-31 | Replace 0 with NULL | Zeex | 1 | -10/+3 | |
2017-07-28 | Made all subhook calls NULL safe, not just one destructor. | Y_Less | 1 | -0/+9 | |
2017-02-07 | SUB r/m32, imm32 instruction typo | Anton | 1 | -1/+1 | |
IMM8 -> IMM32 | |||||
2016-08-29 | Properly decode SIB length | Zeex | 1 | -2/+14 | |
2016-08-29 | Cleanup | Zeex | 1 | -6/+16 | |
2016-08-28 | Fix relocation bug | Zeex | 1 | -5/+10 | |
It was introduced during latest refactoring (along with like 10 other bugs). | |||||
2016-08-28 | Add support for REX prefixes | Zeex | 1 | -0/+11 | |
2016-08-28 | Return error on overflow | Zeex | 1 | -21/+41 | |
2016-08-28 | Remove stupid assert | Zeex | 1 | -5/+1 | |
2016-08-28 | Fix trampoline size calculation | Zeex | 1 | -1/+1 | |
Fixes #18. | |||||
2016-08-27 | Make sure offset fits in 32 bits | Zeex | 1 | -1/+8 | |
2016-08-25 | Fix trampoline generation | Zeex | 1 | -1/+3 | |
Fixes #17. | |||||
2016-08-25 | Fix 64-bit jump being overwritten by regular jump | Zeex | 1 | -0/+1 | |
Fixes #16. | |||||
2016-07-24 | Minor cleanup | Zeex | 1 | -3/+3 | |
2016-07-24 | Convert tabs to spaces | Zeex | 1 | -313/+326 | |
2016-07-24 | Return support for 32-bit jumps on x86-64 | Zeex | 1 | -71/+106 | |
Add an option to allow the caller to decide whether to use 32-bit or 64-bit jumps (the latter requires almost 3 times more space (5 vs 14 bytes)). Also see: #13 | |||||
2016-04-24 | Fix pointer cast to smaller type warning | Zeex | 1 | -1/+1 | |
2016-04-23 | Cleanup | Zeex | 1 | -86/+116 | |
2016-04-23 | Fix MSVC compile errors | Zeex | 1 | -1/+4 | |
2016-04-02 | Modify x64 support to use RET rather than JMP | Ozymandias | 1 | -6/+55 | |
Unforunately, 64-bit direct jumps don't work in AMD64. In order to avoid this issue, I am pushing the address we wish to jump to on the stack and calling RET. Due to the same issues as JMP, using the trampoline is unlikely to be safe in many situations. Therefore, I would recommend only using ScopedRemove, or manually removing the hook prior to calling the original function, instead of using a the trampoline. | |||||
2015-11-10 | Add link to Intel manuals | Zeex | 1 | -2/+4 | |
2015-11-10 | Add support for TEST and more variants of SUB in trampolines | Zeex | 1 | -30/+44 | |
2015-09-13 | Fix x64 compile warnings | Zeex | 1 | -7/+8 | |