如何截获WIN2k登陆密码?

masterdog 2002-06-03 12:08:23
【问题描述】我编写了一个系统挂钩,能够截获几乎所有编辑框中密码。可是如何在win2k运行前将系统挂钩挂上呢?我试图在注册表中HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下添加我的挂钩程序,发现该程序在登陆对话框验证密码之后执行。另外无法截获通过CTRL+ALT+DEL激活的更改密码对话框。所以请教:

1.通过什么方法能够在登陆窗口出现前运行我的程序。
2.是不是我挂钩有设计缺陷?

我挂钩的实现简单描述如下:(动态链接库中)
1.声明共享HOOK句柄:
#pragma data_seg("hook")
HHOOK hHookProc=0;
#pragma data_seg()
2.声明回调函数
3.安装挂钩SetWindowsHookEx(WH_CALLWNDPROC,...)
4.在回调函数中处理WM_NCDESTROY消息,并截获窗口类型为EDIT,风格为ES_PASSWORD的文本(通过GetWindowText函数),然后调用CallNextHookEx恢复消息传递。

希望向编程高手们学习
...全文
12 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
masterdog 2002-06-11
虽然没有直接得到答案,不过也学到了很多!
回复
bestone 2002-06-08
想干什么?
回复
masterdog 2002-06-08
可是我作的服务还是不够周到,怎么也不能赶在登陆之前。怎么办!!!
回复
我的天,楼主想干坏事呀
回复
microran2000 2002-06-04
VXD ONLY DOES WORK UNDER win9x/me,as you know.
Vtoolsd does not mean everything
回复
h_wg 2002-06-04
GZ
回复
polugen 2002-06-03
钩子毕竟能力有限,当WINDOWS还没初始化时它就无能为力了。
此问题只能用VXD解决,如果你DDK不数,你可以 用VTOOLSD结合VC来做,也很轻松
回复
echoyao 2002-06-03
NOD,作为一种服务启动最好办,也容易做。
回复
jacklondon 2002-06-03
把程序做成service,可以在登录之前运行起来
回复
masterdog 2002-06-03
嗯!我也考虑过,不过这样是不是太麻烦了?那样的话自己需要做一个动态连接库替换MSGina.dll,然后在自己的动态连接库中实现Wlx*****函数,需要改动
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon的键值GinaDLL为自己的动态链接库。有没有什么更简便的方法呢?
回复
kingzai 2002-06-03
1.通过什么方法能够在登陆窗口出现前运行我的程序?
you can add your code in your custom gina or LSA Custom Authentication Packages。
2。the hook has no error.
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-06-03 12:08
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……