https://github.com/segevfiner/cyminhook
Hook functions using Python on Windows with MinHook
https://github.com/segevfiner/cyminhook
cython minhook python python3
Last synced: about 1 year ago
JSON representation
Hook functions using Python on Windows with MinHook
- Host: GitHub
- URL: https://github.com/segevfiner/cyminhook
- Owner: segevfiner
- License: mit
- Created: 2022-01-16T13:29:26.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-11-02T10:40:26.000Z (over 1 year ago)
- Last Synced: 2025-04-13T00:45:36.235Z (about 1 year ago)
- Topics: cython, minhook, python, python3
- Language: Cython
- Homepage: https://pypi.org/project/cyminhook/
- Size: 243 KB
- Stars: 19
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
cyminhook
=========
.. image:: https://img.shields.io/pypi/v/cyminhook.svg
:target: https://pypi.org/project/cyminhook/
:alt: PyPI
.. image:: https://github.com/segevfiner/cyminhook/actions/workflows/docs.yml/badge.svg
:target: https://segevfiner.github.io/cyminhook/
:alt: Docs
Hook functions on Windows using `MinHook `_.
Quick Start:
.. code-block:: python
import ctypes
import ctypes.wintypes
import cyminhook
import win32api
import win32con
class MessageBoxExWHook(cyminhook.MinHook):
signature = ctypes.WINFUNCTYPE(
ctypes.c_int,
ctypes.wintypes.HWND,
ctypes.wintypes.LPCWSTR,
ctypes.wintypes.LPCWSTR,
ctypes.wintypes.UINT,
ctypes.wintypes.WORD,
use_last_error=True,
)
target = ctypes.windll.user32.MessageBoxExW
def detour(self, hWnd, lpText, lpCaption, uType, langId):
return self.original(hWnd, "Hooked", "Hooked", uType, langId)
with MessageBoxExWHook() as hook:
hook.enable()
win32api.MessageBox(None, "Hello, World!", "Python", win32con.MB_OK)