任何人都可以解释一个程序如何挂钩并修改Windows中其他程序的行为?
怎么可能呢?Windows程序不能保护自己免受进入其内存的其他程序的影响吗?(我不知道内部是如何工作的,所以我只是说"进入他们的记忆中" - 我敢打赌它比那更复杂.)
像Windows 7这样的现代Windows是否仍然允许它?
谢谢,Boda Cydo
有几种不同的方法可以挂钩和修改其他程序的行为.
例如,您可以直接写入另一个程序的内存(WriteProcessMemory),也可以将一个线程注入另一个程序的内存(CreateRemoteThread).这假设您有权控制其他程序.
您还可以通过SetWindowsHookEx注入窗口挂钩.这假设您在用户的会话中以您注入的程序的相同或更高完整性级别运行.
由于几个原因,仍然允许这样做.如果没有办法修改其他程序的行为,您将无法实现调试器.Windows挂钩用于测试程序,辅助功能程序,改变Windows外观的程序等.