万卷书   首页 > 电脑书籍 > 黑客攻防战 >黑客窃取密码的原理及防范
 
  一、非法获取Password的原理:

  Edit控件是Windows的一个标准控件,当把其Password属性设为True时,就会将输入的内容屏蔽为星号,从而达到保护的目的。虽然我们看来都是星号,但程序中的Edit控件实际仍是用户输入的 密码,应用程序可以获取该控件中的密码,其他应用程序也可以通过向其发送WM_GETTEXT或EM_GETLINE消息来获取Edit控件中的内容。黑客程序正是利用Edit控件的这个特性,当发现当前探测的窗口是Edit控件并且具有ES_PASSWORD属性时,则通过SendMessage向此窗口发送WM_GETTEXT或EM_GETLINE消息,这样Edit框中的内容就一目了然了。

二、黑客软件工作方法

  首先要取得当前的窗口,并判断是否是Edit控件,一般多通过鼠标来指定要探测的窗口,例如在WM_MOUSEMOVE消息的响应函数中进行判断,现列举代码片段如下:

  //将客户坐标转换成屏幕坐标
   ClientToScreen(&point);
   //返回一个包含指定屏幕坐标点的窗口
   CWnd* pWnd = CWnd::WindowFromPoint(point);
   if (pWnd)
   {
   //获取窗口句柄
   HWND hwndCurr = pWnd->GetSafeHwnd();
   if ((::GetWindowThreadProcessId (GetSafeHwnd(), NULL)) != (::GetWindowThreadProcessId (hwndCurr, NULL)))
   {

下一页