吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 559|回复: 3
收起左侧

[求助] python进程内hook的问题

[复制链接]
pythonhnm 发表于 2024-1-13 23:14
最近刚学hook,写了个demo
[Python] 纯文本查看 复制代码
import ctypes
from ctypes.wintypes import DWORD,HHOOK,WPARAM,LPARAM
from tkinter import messagebox
class Hook():
    def __init__(self,mode='',func='',callback=None,hook=0):
        self.mode = mode
        self.callback = callback
        self.func = func
        self.hook = hook
        self.kernel32 = ctypes.windll.kernel32
        self.user32 = ctypes.windll.user32
    def Create(self):
        module = self.kernel32.LoadLibraryW(self.mode)
        if module == None:
            return False
        funcp = self.kernel32.GetProcAddress(module,self.func)
        if funcp == None:
            return False
        HOOKPROC = ctypes.WINFUNCTYPE(ctypes.c_int, ctypes.c_int, ctypes.c_int,ctypes.POINTER(DWORD))
        proc = HOOKPROC(self.callback)
        hook = self.user32.SetWindowsHookExW(4,proc,module,0)
        if not hook:
            return False
        self.hook = hook
        return hook
    def Remove(self):
        self.user32.UnhookWindowsHookEx(self.hook)
        hook = 0
        return True
def MyMessageBoxW(nCode,wParam, lParam):
    print(nCode,wParam, lParam)
    return ctypes.windll.user32.CallNextHookEx(hooker.hook,nCode,wParam, lParam)
hooker = Hook("user32.dll","MessageBoxW",MyMessageBoxW)
print(hooker.Create())

本来看到一些C++都不需要SetHookEX的,但水平太菜,实在无奈
然后运行代码后所有窗口全没动静了,也没法重启,只能强制关机
新窗口也打不开
怀疑是WH_CALLWNDPROC的问题
这里想知道怎么解决,或者用其他方法实现这个需求

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
llacrr 发表于 2024-1-14 03:29
提示: 作者被禁止或删除 内容自动屏蔽
kajibu 发表于 2024-1-14 14:20
kings0b 发表于 2024-1-14 16:15
def MyMessageBoxW(nCode, wParam, lParam):
    print(nCode, wParam, lParam)
    # 调用下一个钩子或消息处理函数
    return ctypes.windll.user32.CallNextHookEx(hooker.hook, nCode, wParam, lParam)
或者用WH_CBT或WH_GETMESSAGE试试
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 18:51

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表