获取星号密码的原理:
上世纪90年代使用过 Windows3.x 的人可能很少有人了解这类操作系统中存在着密码保护的漏洞,如果选择密码控件中的“****”文本然后复制到剪贴板上,
那么看到的将不是“****”而是密码的原始文本。微软发现了Windows3.x 这个问题并在新的版本Windows95 中修改了这个漏洞。
但是 Windows95 存在着新的安全漏洞,可以设计出间谍程序从当前运行的程序中得到密码控件中的密码(方法见下文)。然而,微软在 Window2000 中又修补了这个问题,
是判断消息发送的来源进程是否与当前密码控件属于同一进程,如果不是则返回 ERROR_ACCESS_DENIED 错误!但是也是有方法的,那就是利用 DLL 进程注入,
向密码控件发送 WM_GETTEXT、EM_GETLINE 消息来进行密码的获取!
编辑框 Edit 控件 是Windows的一个标准控件,当把其 Password 属性设为 True 时,就会将输入的内容屏蔽并变为星号(*),从而达到保护的目的。
但是 Edit 框中的内容可通过编程的方式发送 WM_GETTEXT、EM_GETLINE 消息来进行获取。
黑客程序就是利用 Edit 控件的这个特性,通过 SendMessage 向此窗口发送 WM_GETTEXT 或 EM_GETLINE 消息,这样Edit框中的内容就一目了然了!