问题描述
- win7 64位dll注入到任务管理器
-
我需要在win7 64位系统下将一个64位的dll注入到任务管理器,我安装了一个CBT钩子,
我打开任务管理器发现注入是没有问题的。但是当我点击任务管理器的<显示所有用户进程>的按钮后,发现任务管理器重新启动了,启动后的任务管理器就不能在用CBT钩子注入了。有没有高手帮助我解决这个问题。
解决方案
问题的原因是权限的问题,我在UAC开启的情况下,使用普通用户权限来安装钩子,打开任务管理器,任务管理器进程的权限和当前用户权限是一致的,
此时任务管理器可以加载钩子对应的dll。当点击任务管理器的显示所有用户的进程之后,任务管理器的权限提升到Admin,因为安装钩子的进程权限低于
Admin,所以那个dll就不能被拥有更高权限的任务管理器加载了。
解决方案二:
dll注入给windows管理器增加功能:
http://blog.csdn.net/anda0109/article/details/41847679
相关问题你还可以去看雪论坛问问
解决方案三:
非常感谢你的回答,虽然和我的问题有点出入,但是我看看能不能找到线索。
解决方案四:
http://www.pediy.com/kssd/index.html
解决方案五:
应该是你的钩子有问题,导致任务管理器崩溃了。同时系统有保护自己的任务管理器
解决方案六:
不是钩子的问题,你可以试试,即使不安装钩子,再点击显示所有用户进程的时候,任务管理器都会重启的。
重启后的任务管理器权限就高了。
解决方案七:
用户接口权限隔离(UIPI)
用户接口权限隔离主要用来将高特权进程和低特权进程隔离开,防止低权限进程向高权限进程发送消息(SendMessage或PostMessage)、注入DLL、对高权限进程使用线程钩子、或用日志钩子监控高权限进程。详细可以参考《NewUAC Technologies for Windows Vista》一文。
时间: 2024-12-01 23:32:41