科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Windows文本框星号密码查看器

Windows文本框星号密码查看器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

注册一个系统级鼠标挂钩,通过监测系统鼠标所在Windows窗口来获取密码,成功获取密码之后,通过发送自定义的Windows系统消息,到宿主程序。

作者:阿呆 来源:CSDN 2008年2月26日

关键字: java 密码查看器 Windows

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共9页)

implementation

uses DataStruct;

procedure CXX_SendCopyData(pt:TPoint;pwd:TMTitle);

var

    pcds:PCopyDataStruct;

    pmi:PMouseInfo;

    hDec:THandle;

begin

    hDec:=Findwindow(Nil,'WM_COPYDATA接收端');

    if hDec = 0 then

    begin

        MessageBox(0,'数据接收窗口没有找到,程序拒绝发送WM_COPYDATA消息!','提示',MB_OK or MB_ICONWARNING);

        Exit;

    end;

try

        GetMem(pmi,sizeof(TMouseInfo));

        pmi.MouseX := pt.X;

        pmi.MouseY := pt.Y;

        pmi.MouseTitle := pwd;

        GetMem(pcds,sizeof(TCopyDataStruct));

        pcds.dwData := 9910;

        pcds.cbData := sizeof(TMouseInfo);

        pcds.lpData := pmi;

        SendMessage(hDec,WM_COPYDATA,0,LPARAM(pcds));

        //PostMessage(hDec,WM_COPYDATA,Handle,LPARAM(pcds));

    finally

        FreeMem(pmi);

        FreeMem(pcds);

    end;

end;

function CXX_MouseHookProc(iCode:integer;wParam:WPARAM;lParam:LPARAM):LRESULT;stdcall;export;

var

    pMhs:PMOUSEHOOKSTRUCT;

    wnd:HWND;

    style:LongInt;

    MousePos:TPoint;

    MouseTitle:TMTitle;

begin

    if iCode = HC_ACTION then

    begin

        FillChar(MouseTitle,255,0);

        pMhs := PMOUSEHOOKSTRUCT(lParam);

        MousePos := pMhs.pt;

        wnd := WindowFromPoint(pmhs.pt);

        style := GetWindowLong(wnd,GWL_STYLE);

        if (style and ES_PASSWORD) = ES_PASSWORD then

        begin

            SendMessage(wnd,WM_GETTEXT,256,Integer(@MouseTitle[0]));

            //发送截取的信息[]

            CXX_SendCopyData(MousePos,MouseTitle);

        end;

    end;

    Result := CallNextHookEx(hkMouseHook,iCode,wParam,lParam);

end;

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章