vc 星号密码查看方法
文章转自:http://blog.csdn.net/reggiekiller/article/details/5948830
===================================
基本都是别人写的,我居然有脸写原创。
玩路路解密破解游戏的时候用到过一个工具,可以用来查看窗口的星号密码以及网页中的星号密码,顿觉得很牛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("释放成功!");
- }
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>
<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之后让我不淡定了。。。。。。
vc 星号密码查看方法相关推荐
- VC星号密码查看器源码
UINT g_timer = 0; void CGetPwdDlg::StartDeteck() { // TODO: 在此添加控件通知处理程序代码 //g_hHook=SetWind ...
- 网页源文件星号怎么显示_【亲测实用】网页隐藏密码查看方法
怎么查看网页星号密码呢?由于网页密码新增"软键盘"输入法,因此对于部分网页密码,无法通过相关"星号密码查看器"或一般方法来查看.以下小编就根据自己的实际亲测经验 ...
- Windows文本框星号密码查看器
Windows文本框星号密码查看器 本人2002的学习作品 作者:成晓旭 1. 设计原理:注册一个系统级鼠标挂钩,通过监测系统鼠标所在Windows窗口来获取密码,成功获取密码之后,通过发送自定义的 ...
- 简易的星号密码查看器(对话框版+网页版)
基本都是别人写的,我居然有脸写原创. 玩路路解密破解游戏的时候用到过一个工具,可以用来查看窗口的星号密码以及网页中的星号密码,顿觉得很牛x,找了一下它们的原理,依葫芦画瓢也自娱自乐了一番.就当是验证一 ...
- 木马编程DIY之星号密码查看
原文链接:http://blog.csdn.net/chinafe 星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个 Windows 的一个子窗口,显示星号是因为密码框设置 ...
- 冷风 星号密码查看工具DIY
注:本文于07/1月于黑客防线发表版权归黑客防线所有,转载请注明出处 号密码查看工具DIY 文/德州科技职业学院 冷风 星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个Wi ...
- ***编程DIY (Delphi版) - 第3篇 星号密码查看工具
星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个Window子窗体,显示星号是因为密码框设置了EM_SETPASSWORDCHAR属性,只要我们把密码框的EM_SETPAS ...
- 木马编程DIY (Delphi版) - 第3篇 星号密码查看工具
注:<木马编程DIY>由冷风(chinafe)创作完成.本文在其基础上将原文中的C++源代码修改为Delphi源代码,并加以相关说明. 感谢冷风(chinafe)的无私奉献. 星号密码查看 ...
- 网页中保存的密码查看方法
前言 我们经常会在网页中保存一些常用的密码,如果忘记之后想知道密码只能通过修改密码,可能比较麻烦.使用这个方法,可以,查看屏幕上本来是点状的密码. 正文 在原本是点状密码输入框的位置右键 点击检查 在 ...
- 最全各种浏览器网页星号点号密码查看最简方法(技术小白也能看懂使用)
查看浏览器网页星号.点号密码分IE内核的浏览器和非IE内核的浏览器密码查看 1.IE浏览器的密码查看 方法①:(需要懂简单的IT前端技术)按F12--找到密码元素 或 找到你要查看的密码元素--右键- ...
最新文章
- c语言 结构成员 变量引用,C++结构体变量的引用
- java状态模式例子答案_[转载]java设计模式_状态模式(带例子)
- 康普顿效应是弹性碰撞吗_如何正确解读物理实验结果系列之十二——康普顿效应与光子...
- cass生成曲线要素文件_《CASS道路断面法施工技术》
- STM32网络ETH
- JavaWeb之编码问题
- 高级文本编辑器——Kate
- IE associate Fix
- 怎么用计算机自己做动画片,怎样用电脑制作动画,电脑动画制作怎么做
- 计算机隐藏用法表白,微信隐藏符号功能大全 情人节可以发这些表白
- Python视频转换分辨率(附代码) | Python工具
- 【Computer Organization笔记08】指令系统概述,指令格式,寻址方式
- python模拟键盘上键和回车_使用Python模拟键盘输入
- 信用社考试计算机试题及答案,2016黑龙江省农村信用社考试题库-计算机试题及答案六...
- AT-GAN: A Generative Attack Model for Adversarial Transferring on Generative Adversarial Nets
- 连接数据库时出错 : The server time zone value is unrecognized or represents more than one time z
- STM32CubeMX实战教程(七)——TFT_LCD液晶显示(附驱动代码)
- css 横线中间添加文字
- IT培训行业揭秘(五)
- [像素大厨PxCood下载安装]