diff options
author | Zeex <zeex@rocketmail.com> | 2023-02-10 15:53:01 +0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-10 15:53:01 +0600 |
commit | 6cff28a750f89ad4c4af187bfacaef0d16f2daab (patch) | |
tree | 5891051944dc832fc24007dd9bbdaa577b9672dc | |
parent | 85a2406774613c7aa942a41b5651c7af79f7c702 (diff) | |
download | subhook-6cff28a750f89ad4c4af187bfacaef0d16f2daab.zip subhook-6cff28a750f89ad4c4af187bfacaef0d16f2daab.tar.gz subhook-6cff28a750f89ad4c4af187bfacaef0d16f2daab.tar.bz2 |
Update intro section in README
-rw-r--r-- | README.md | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1,8 +1,14 @@ [![Build Status][build_status]][build] [![Build Status - Windows][build_status_win]][build_win] -SubHook is a super-simple hooking library for C and C++ that works on Windows, -Linux and macOS. It supports x86 only (32-bit and 64-bit). +SubHook is a simple library for [hooking][wikipedia_hooking] arbitrary functions +at run time. It's written in C and also provides an optional C++ wrapper API. + +The library was originally developed to intercept a bunch of API calls in the +[SA-MP server](https://www.sa-mp.com), which is a Windows/Linux 32-bit app, in +order to extend a plugin that I wrote for it. Since then, it has been adapted +to better support x86_64, macOS, and more common use-cases, thanks to the +[contributors][github_contributors]. Installation ------------ @@ -146,7 +152,7 @@ Known issues/limitations N is 5 by default: 1 byte for jmp opcode + 4 bytes for offset. But if you enable the use of 64-bit offsets in 64-bit mode N becomes 14 (see the definition of `subhook_jmp64`). - + On x64_64, another cause could be that the function contains instructions referencing memory that is too far away from the trampline code buffer's address `trampoline_addr`, such as `cmp dword ptr [some_32bit_addr], rax` @@ -161,7 +167,7 @@ Known issues/limitations For example, on Fedora you can have such problems because of SELinux (though you can disable it or exclude your files). - + License ------- @@ -171,3 +177,5 @@ Licensed under the 2-clause BSD license. [build_status]: https://travis-ci.org/Zeex/subhook.svg?branch=master [build_win]: https://ci.appveyor.com/project/Zeex/subhook/branch/master [build_status_win]: https://ci.appveyor.com/api/projects/status/q5sp0p8ahuqfh8e4/branch/master?svg=true +[wikipedia_hooking]: https://en.wikipedia.org/wiki/Hooking +[github_contributors]: https://github.com/Zeex/subhook/graphs/contributors |