v0.2.0
Full Changelog: v0.1.0...v0.2.0
This is mostly maintenance release.
Change Log
- Remove
rcmp::opcode_length
andrcmp::make_raw_hook
from public API - Add
rcmp::hook_indirect_function
that allows to hook virtual functions (and more) - Add
rcmp::with_signature<..>
utility, that is used to change calling convention of callable at compile-time - Rework and simplify implementation
- Drop
std::function
for better inlining - Internal state of hook is now trivially constructible, so it doesn't require any additional initialization on program startup and can be used before
main()
- Drop
- Add
rcmp::generic_hook_function
as a generic way of function hooking (if you want to customizercmp
behaviour without digging into templates) - Move to github actions
Commits
- do not update replaced function in case of double hook (Smertig)
- 44e6226: Stop using type-erased holder for hook, check callable concept statically (Smertig)
- a37bc10: Make address_t ctor constexpr, add asserts (workaround for static initialization order fiasco) (int3)
- 7f01a4e: Implement rcmp::with_signature for compile-time signature conversions (Smertig)
- 66c33d0: Fix linkage error in tests (travis, gcc, x86) (Smertig)
- 10e743b: Simplify implementation of hook_function (Smertig)
- dcf7e56: Enable thiscall hooking tests on MSVC compiler (Smertig)
- 4d758a0: Simplify PMF tests (Smertig)
- 4dccfd9: Implement rcmp::hook_indirect_function (actually a way to hook virtual functions) (Smertig)
- 72cef84: Rewrite vtable test to prevent devirtualization (gcc) (Smertig)
- e57098b: Make
rcmp::detail::hook_impl
generic over hook policy (Smertig) - 354e98c: Introduce policy-based
rcmp::generic_hook_function
(Smertig) - eb3d5df: Remove
opcode_length
andmake_raw_hook
from public API (Smertig) - c6260f4: Move hook policies to separate files (Smertig)
- ae5a953: Missing include (Smertig)
- 47ad93d: Bump Catch version: v2.13.1 -> v2.13.10 (Smertig)