简易的星号密码查看器(对话框版+网页版)
基本都是别人写的,我居然有脸写原创。
玩路路解密破解游戏的时候用到过一个工具,可以用来查看窗口的星号密码以及网页中的星号密码,顿觉得很牛x,找了一下它们的原理,依葫芦画瓢也自娱自乐了一番。就当是验证一下实践一下快活一下悲哀一下吧。
对话框的星号密码查看原理是基于密码框都有个EM_SETPASSWORDCHAR属性。通过安装鼠标钩子监视鼠标动作,如果用户单击的是密码框那么就发送一个去除密码属性的消息。
mfc工程,对话框
HHOOK g_hMouse; //鼠标钩子函数 LRESULT CALLBACK HookProc( int code, WPARAM wParam,LPARAM lParam ) { HWND hwnd; POINT point; GetCursorPos(&point);//得到鼠标位置 hwnd=::WindowFromPoint(point);//得到包含鼠标的窗口句柄 long nStyle=::GetWindowLong(hwnd,GWL_STYLE);// 得到窗口风格 EVENTMSG *event=(EVENTMSG *)lParam; if(event->message==WM_LBUTTONDOWN)//是否为鼠标左键 { if(nStyle & ES_PASSWORD)//是否为密码框 { ::PostMessage(hwnd, EM_SETPASSWORDCHAR,0,0);//去掉密码属性 } } return CallNextHookEx(g_hMouse,code,wParam,lParam); } void CGetPwdDlg::OnStart() { // TODO: Add your control notification handler code here g_hMouse = SetWindowsHookEx(WH_JOURNALRECORD,HookProc,GetModuleHandle(NULL),0); if(!g_hMouse) { MessageBox("设置钩子失败!"); return; } MessageBox("设置成功!"); } void CGetPwdDlg::OnEnd() { if(!UnhookWindowsHookEx(g_hMouse)) { MessageBox("释放钩子失败!"); return; } MessageBox("释放成功!"); }
↑良好习惯,从我做起,哇咔咔
这个程序让我知道了不用dll也可以弄全局钩子呵呵,测试了一些基本的对话框还是可以的,qq的密码框当然是不行了。
解密这么容易那防范也同样简单,可以从TEdit派生一个新的组件,名字为TBugEyesEdit,然后修改其消息定义。那再发送取消EM_SETPASSWORDCHAR消息它就不会理你了。
网页版的需要写一个VBScript脚本,保存为htm文件
<Script language="VBScript"> On Error Resume Next '设置错误陷阱 Dim ObjDocument,ObjEvent,ObjElement '声明对象 Set ObjDocument = external.menuArguments.document '使用DOM方式枚举元素 Set ObjEvent = external.menuArguments.event Set ObjElement=ObjDocument.elementFromPoint(ObjEvent.clientX,ObjEvent.clientY ) '通过当前鼠标指针坐标得到网页元素 If ObjElement.type ="password" then '如果网页元素类型为密码框 If ObjElement.value="" then Alert("获取文本为空") else Alert("获取文本为:"+ObjElement.value) '显示密码 End If End If </Script>
然后在注册表的“HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/MenuExt”下面的那个字串值改为脚本的路径就可以了
这样右键点击输入密码的框框,就有一个获得密码的选项了
经测试,百度、人人什么的网站全都失效。。。但是试了CSDN之后让我不淡定了。。。。。。
简易的星号密码查看器(对话框版+网页版)相关推荐
- Windows文本框星号密码查看器
Windows文本框星号密码查看器 本人2002的学习作品 作者:成晓旭 1. 设计原理:注册一个系统级鼠标挂钩,通过监测系统鼠标所在Windows窗口来获取密码,成功获取密码之后,通过发送自定义的 ...
- VC星号密码查看器源码
UINT g_timer = 0; void CGetPwdDlg::StartDeteck() { // TODO: 在此添加控件通知处理程序代码 //g_hHook=SetWind ...
- [原]简易Windows密码查看器
[标题]:简易Windows密码查看器 [时间]:2009-10-09 [摘要]:通过全局钩子获取当前鼠标处的窗口控件句柄,然后直接调用GetWindowText()获取密码文本. [关键字]:密码. ...
- 简易Windows密码查看器
[标题]:简易Windows密码查看器 [时间]:2009-10-09 [摘要]:通过全局钩子获取当前鼠标处的窗口控件句柄,然后直接调用GetWindowText()获取密码文本. [关键字]:密码. ...
- html查看器wifi,wifi密码查看器电脑版
wifi密码查看器电脑版是用于查看当前设备曾经连接过的所有WIFI名称和密码的工具,wifi密码查看器电脑版可以用于找回遗忘的WIFI密码:也可以在多网络环境协同办公时,分辨出各个同名WIFI密码,便 ...
- 【破解作品】Access密码查看器 破解版 注册码
Access密码查看器 破解版 注册码 注册名: onebody 注册码: 3EE979B937FBD4C1 功能介绍: Access数据库密码破解器可以破解目前已知的各版本Access数据库密码, ...
- ***编程DIY (Delphi版) - 第3篇 星号密码查看工具
星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个Window子窗体,显示星号是因为密码框设置了EM_SETPASSWORDCHAR属性,只要我们把密码框的EM_SETPAS ...
- 木马编程DIY (Delphi版) - 第3篇 星号密码查看工具
注:<木马编程DIY>由冷风(chinafe)创作完成.本文在其基础上将原文中的C++源代码修改为Delphi源代码,并加以相关说明. 感谢冷风(chinafe)的无私奉献. 星号密码查看 ...
- 木马编程DIY之星号密码查看
原文链接:http://blog.csdn.net/chinafe 星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个 Windows 的一个子窗口,显示星号是因为密码框设置 ...
最新文章
- python5_python5
- chm文件打不开问题
- linux 强制刷新文件,vim 如何刷新或重载reload 已打开的文件
- android studio下的NDK开发详解
- TI的TCP/IP协议栈---NDK
- tensorflow-TFRecord 用法
- 系统设计:性能指标、伸缩性、扩展性、可用性、安全性
- 23.IntelliJ IDEA 常用设置-1
- lynda ux_UX心态
- C++类成员属性的一种简洁实现
- java+opencv+intellij idea实现人脸识别
- 基于nvidia的ffmpeg编解码加速
- 全国计算机等级考试三级数据库知识点总结
- 用Python进行web开发需要学习什么?
- Git 笔记 - git cherry-pick
- HTML期末学生大作业-新闻网页作业html+css
- 茅台抢购脚本golang版本使用教程
- LSVGlobal Mapper应用----影像下载
- C语言,移动鼠标获得当鼠标当前位置坐标
- uniAPP 禁用原生导航栏 和 获取状态栏高度 和 使用(间距掉)