问题标签 [hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1152 浏览

c++ - 键盘钩子与所有桌面c ++ win32交互

是否可以使键盘挂钩在所有桌面上工作?例如,我可以让它同时在winlogon桌面和交互桌面上记录按键吗?如果有怎么办?谢谢您的帮助!

编辑:想通了。我修改了 ctrl2cap 驱动程序来记录密钥。

0 投票
7 回答
15175 浏览

javascript - Javascript函数钩子

编辑:好的,我相信以下解决方案是有效的:

  1. 使用 jQuery AOP 插件。它基本上将旧函数与钩子一起包装成一个函数三明治,并将其重新分配给旧函数名。这会导致每个新添加的钩子都嵌套函数。
    如果 jQuery 不适合你,那就盗版源码吧,插件里面好像没有 jQuery 依赖,而且源码简单而且很小。

  2. 有一个描述所有钩子及其目标的对象和一个用于存储初始未修改函数的对象。添加新钩子时,将围绕原始函数重做包装,而不是重新包装先前的包装函数。
    您转义嵌套函数,并获取两个对象来处理。如果您经常无序地添加/删除钩子,这也可能意味着更容易处理钩子。

我会选择第一个,因为它已经完成了,我不用担心性能。并且由于原有功能不受影响,即使我切换钩子方法,我只需要重新添加钩子,这可能只是一些简单的搜索和替换操作。


你好,

是否有可能创建一种机制,其中函数 A 可能有一组钩子(将在函数 A 之前/之后执行的函数)?

理想情况下,函数 A 不会意识到挂钩功能,因此我不必修改函数 A 的源代码来调用挂钩。就像是:

几个小时以来,我一直在尝试破解某些东西,但到目前为止还没有运气。

0 投票
2 回答
11465 浏览

c++ - C++ - 绕道 WinSock Hooking

我想要做的是使用Detours 库挂钩到应用程序 WinSock2 send() 和 recv() 函数(数据包记录器)。

虽然它适用于 send() 函数,但它不适用于 recv() 函数。

这是我的相关代码:

有任何想法吗?

编辑:所以我也连接了 recvfrom() 和 WSARecvEx(),但它仍然没有记录传出的数据包!我已经用我的确切代码更新了我的代码。

0 投票
3 回答
10110 浏览

svn - 是否有 Subversion Checkout Hook 或类似的东西?

我正在使用 subversion 存储库,我想知道何时有人要求我的存储库结帐;像“svn co”或“svn up”。每当有人从我的 svn 服务器请求信息时,是否可以使用挂钩或其他方法来运行脚本或发送电子邮件?如何在不依赖 apache 日志的情况下实现这一目标?

顺便说一句,它是一个非常简单的存储库,仅用于教育目的。

(如果您需要更多信息,请询问。提前致谢。)

0 投票
2 回答
1925 浏览

svn - 如何实现 SVN 挂钩以了解提交的文件的文件名等?

我正在使用 Windows XP 和 TortoiseSVN,我想知道文件名、文件路径、作者以及有关使用提交后挂钩提交到存储库的修订的其他详细信息。我们是否必须使用某种语言来执行此操作,例如 Python,或者即使仅使用批处理文件也可以编写?

0 投票
1 回答
1070 浏览

java - Java/SWT:如何从嵌入式窗口接收鼠标事件

我正在使用“reparenting”将 Windows 应用程序嵌入到我的 SWT 应用程序中。那部分工作正常。我现在想将我的 SWT 应用程序挂接到消息队列中,以便嵌入式应用程序接收鼠标移动事件。

我看到 SWT 中的 OS 类有许多有趣的方法来添加钩子,但我还没有弄清楚如何使用它们。

任何人都可以帮忙吗?

谢谢

0 投票
2 回答
1054 浏览

search - Drupal hook_search 函数位置

我一生都无法弄清楚 drupal 中的 hook_search 函数的位置。我需要添加到文件中才能访问吗?

0 投票
3 回答
1317 浏览

c++ - 窗户挂钩问题

正在使用这个:

我可以看到我想要处理的消息,但我想阻止这些消息到达目标窗口。所以我尝试了这个:

当我这样做时,我可以修改消息,并阻止目标窗口处理它,但是这个钩子看不到我需要处理的消息。我想这是因为它被发布到目标窗口的队列中,而不是发送?有没有办法解决这个问题?我听说窗口子类化可能能够做到这一点,但我可以在不同的进程中对窗口进行子类化吗?有没有办法使用钩子来做到这一点?

0 投票
3 回答
1516 浏览

windows - 挂钩调用 HeapAlloc 以进行内存跟踪应用程序的僵局

我正在编写一个内存跟踪应用程序,它使用 IAT 修补机制挂钩对 HeapAlloc 的所有调用。这个想法是捕获对 HeapAlloc 的所有调用并获得一个调用堆栈。

但是,我目前面临使用 DBGHELP API 获取调用堆栈的问题。我发现 dbghelp dll 本身正在链接到 MSVCRT dll,并且这种依赖性会导致递归调用。当我尝试为来自目标应用程序的任何调用获取调用堆栈时,dbghelp 在内部调用来自 MSVCRT 的某些方法,该方法再次调用 HeapAlloc。由于我已经修补了 MSVCRT,它会导致无限循环。

有没有人遇到过这个问题并解决了?有没有办法摆脱这个僵局?

0 投票
1 回答
8018 浏览

c++ - WH_MOUSE 和 WH_MOUSE_LL 钩子有什么区别?

我发现WH_MOUSE并不总是这样。问题可能是我正在使用WH_MOUSE而不是WH_MOUSE_LL

编码: