草庐IT

Collection-hooks

全部标签

windows - 如何使用 SetWindowsHookEx Hook Windows 上的特定 API?

我正在尝试在Windows上的其他进程(我可能不知道进程ID)中挂接API(例如,MessageBox()),我知道我必须使用SetWindowsHookEx()函数。但是,我仍然有三个问题:1)SetWindowsHookEx()函数能否使Hook全局化,即不限于当前进程?(当应用程序调用这个API时,它被钩住了吗?)2)如果我想把待hook的API替换成自己的函数,怎么办?3)看了很多资料,找到了“hookprocedure”或者“hookfunction”这个词。我该如何理解呢?目前,我将它作为我将用来替换API的函数(再说一遍,MessageBox)。

windows - 窗口 Hook 在 Windows 7 中不起作用,但在 Windows XP 中不起作用

我们正在将我们的应用程序从windowsxp迁移到windows7。其中一个应用程序是窗口和鼠标Hook。相同的代码在windowsxp中运行良好,但在windows7目标计算机(安装了我们自己的软件平台的windows7)中无法运行。一件重要的事情是它在我的个人笔记本电脑上运行良好,它有windows7操作系统我不知道发生了什么......请帮我解决这个... 最佳答案 Windows7中增加了安全功能,这可能正是您遇到的问题。尝试在目标机器上以管理员身份运行您的应用(右键单击,以管理员身份运行)。我自己还没有在Win7中尝试过这

windows - SVN 提交后 Hook 批处理窗口

我有一个运行VisualSVN服务器的Windows服务器来存储我们的存储库。该服务器上还有我们的测试副本。我正在尝试设置一个简单的SVN提交后Hook,以便它在我每次提交内容时自动更新该测试副本在VisualSVN的提交后Hook中,我是这样设置的"C:\ProgramFiles(x86)\VisualSVNServer\bin\updatescripts.bat"D:\inetpub\TESTCOPY然后那个批处理文件有一个像这样的简单更新PATH=%PATH%;"C:\ProgramFiles(x86)\VisualSVNServer\bin\"svnupdate%1如果我通过双

javascript - 如何在 React 经典 `class` 组件中使用 React hooks?

在这个例子中,我有这个react类:classMyDivextendsReact.componentconstructor(){this.state={sampleState:'helloworld'}}render(){return{this.state.sampleState}}}问题是我是否可以为此添加ReactHook。我知道React-Hooks是ReactClass风格的替代品。但是如果我想慢慢迁移到Reacthooks,我可以在Classes中添加有用的hooks吗? 最佳答案 Highordercomponents在

php - 在 CodeIgniter 2.1.0 的 Hook 中使用 session 数据

我使用的是2.1.0版的CodeIgniter。我想使用Hooks进行登录认证。这意味着我希望在每个Controller中检查session数据是否登录。所以我想使用钩子(Hook)。为此,我执行了以下代码:在配置文件中$config['enable_hooks']=TRUE;在文件hooks.php$hook['post_controller_constructor'][]=array('class'=>'SessionData','function'=>'initializeData','filename'=>'loginHelper.php','filepath'=>'hooks

java - 如何基于注释 Hook 自定义编译器逻辑

我想定义一些注释,允许在编译期间报告额外的警告/错误(在概念上类似于@Nullable和@NotNull注释IntelliJ).我希望能够编写一些编译器Hook,这些Hook也将基于这些属性添加我的编译逻辑。如果可能的话,我想要一个通用的钩子(Hook),但是因为我们使用的是Eclipse-如果我们有那个能力也会有好处。我想知道:这可能吗?(以上任何选项)我从哪里开始?到目前为止,我在注释方面几乎没有经验,所以如果我以错误的方式解决这个问题-我想知道这一点,如果可能的话,获得更好的指导。谢谢。 最佳答案 为此,您可以使用JavaAn

开销最低的 java.util.Collection?

我正在另一个接受对象的java.util.Collection的API中调用一个方法。我查看了该方法,它在执行任务之前立即将集合中的所有内容复制到新的ArrayList中。这让我想知道:我可以用来为该方法快速组装参数的绝对最低开销Java集合是多少? 最佳答案 这取决于它如何复制元素,但如果它创建ArrayList-像这样复制newArrayList(inputCollection);或者如果是someCopy.addAll(inputCollection);然后它将通过inputCollection.toArray(),这可能最好

java - 为什么 Collection 参数的通用版本正在调用

这是一段代码publicclassHelloWorld{publicstaticvoidmain(String[]args){GenericClasstest=newGenericClass();test.method(newArrayList());}}classGenericClass{publicvoidoverloadedMethod(Collectiono){System.out.println("overloadedMethod(Collection)");}publicvoidoverloadedMethod(Lists){System.out.println("over

.net - Hook 来自托管代码的 LoadLibrary 调用

我们想Hook对LoadLibrary的调用,以便下载未找到的程序集。我们有一个处理托管程序集的ResolveAssembly处理程序,但我们还需要处理非托管程序集。我们已尝试通过使用“MicrosoftWindows应用程序编程”中指定的技术重写导入表来HookLoadLibrary调用,但是当我们调用WriteProcessMemory()时,我们会遇到权限被拒绝的错误(998)。(是的,我们正在以提升的权限运行)有没有人在加载CLR时成功地重写了导入表?谁能指出我正确的方向?更新:我们解决了权限被拒绝的问题,但现在当我们迭代混合程序集(托管+非托管)的导入表时,我们找到的唯一条目

c++ - 如何检测API Hook?

我一直在尝试检测APIHook、inline和EAThook。目前我没有找到任何关于如何检测EAThook的信息。对于InlineRing3hook,我目前拥有的是:FARPROCAddress=GetProcAddress(GetModuleHandle("kernel32.dll"),"ExitProcess");if(*(BYTE*)Address==0xE9||*(BYTE*)Address==0x90||*(BYTE*)Address==0xC3){printf("Apihooked\n");}问题是有几个操作码可用于Hook/更改函数的序言,检查JMP/NOP/RET是微不