星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的。其实密码框是一个Window子窗体,显示星号是因为密码框设置了EM_SETPASSWORDCHAR属性,只要我们把密码框的EM_SETPASSWORDCHAR属性给去掉了,那么密码就会以明文显示出来。我们可以给程序发送消息去掉EM_SETPASSWORDCHAR属性。通过安装鼠标钩子监视鼠标动作,如果用户单击的是密码框那么就发送一个去除密码属性的消息。
本文使用的编程工具为RAD Studio 2007,具体实现步骤和代码如下:
1. 创建一个VCL Application工程,打开Form1.pas文件,加入下面的全局变量和鼠标钩子函数。
varHookHandle: HHOOK;
function HookProc(code: integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
varMousePoint: TPoint;WindowHandle: THandle;WindowStyle: Longint;
begin// 获取鼠标位置GetCursorPos(MousePoint);// 获取包含鼠标的窗口句柄WindowHandle := WindowFromPoint(MousePoint);// 获取窗口风格WindowStyle := GetWindowLong(WindowHandle, GWL_STYLE);if TEventMsg(PEventMsg(lParam)^).message = WM_LBUTTONDOWN thenbegin// 是否为密码框if WindowStyle and ES_PASSWORD <> 0 thenbegin// 去掉密码属性PostMessage(WindowHandle, EM_SETPASSWORDCHAR, 0, 0);end;end;Result := CallNextHookEx(HookHandle, code, wParam, lParam);
end;
需要注意的是,程序中PostMessage(WindowHandle, EM_SETPASSWORDCHAR, 0, 0);只能使用PostMessage,而不能使用SendMessage代替。
2. 在Form1窗体上放下两个Button控件。并在他的单击事件中加入如下代码:
procedure TForm1.Button1Click(Sender: TObject);
beginHookHandle := SetWindowsHookEx(WH_JOURNALRECORD, @HookProc, hInstance, 0);
end;
procedure TForm1.Button2Click(Sender: TObject);
beginUnhookWindowsHookEx(HookHandle);
end;
现在就完工了,打开我们的程序,按下"Button1",再打开需要输入密码的程序试试,是不是以明文显示了?用这个小程序可以搞定系统的密码设置,outlook或防范不严的程序密码,但对有专门防范的程序就不行了,比如新版QQ。
注:如果就“查看星号密码明文”来说,大可不必如此兴师动众。Visual Studio自带的Spy++就可以胜任这个工作。不过文中的HOOK实现还是值得大家一看的。^__^

转载于:https://blog.51cto.com/suguiyang/272191

***编程DIY (Delphi版) - 第3篇 星号密码查看工具相关推荐

  1. 木马编程DIY (Delphi版) - 第3篇 星号密码查看工具

    注:<木马编程DIY>由冷风(chinafe)创作完成.本文在其基础上将原文中的C++源代码修改为Delphi源代码,并加以相关说明. 感谢冷风(chinafe)的无私奉献. 星号密码查看 ...

  2. 木马编程DIY (Delphi版) - 第2篇 单实例运行

    注:<木马编程DIY>由冷风(chinafe)创作完成.本文在其基础上将原文中的C++源代码修改为Delphi源代码,并加以相关说明.感谢冷风(chinafe)的无私奉献. 在02-03年 ...

  3. 冷风 星号密码查看工具DIY

    注:本文于07/1月于黑客防线发表版权归黑客防线所有,转载请注明出处 号密码查看工具DIY 文/德州科技职业学院 冷风 星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个Wi ...

  4. 木马编程DIY之星号密码查看

    原文链接:http://blog.csdn.net/chinafe 星号密码查看工具大家都用过吧,现在我们自己来写个超级简单的.其实密码框是一个 Windows 的一个子窗口,显示星号是因为密码框设置 ...

  5. 简易的星号密码查看器(对话框版+网页版)

    基本都是别人写的,我居然有脸写原创. 玩路路解密破解游戏的时候用到过一个工具,可以用来查看窗口的星号密码以及网页中的星号密码,顿觉得很牛x,找了一下它们的原理,依葫芦画瓢也自娱自乐了一番.就当是验证一 ...

  6. Windows文本框星号密码查看器

    Windows文本框星号密码查看器 本人2002的学习作品 作者:成晓旭 1.  设计原理:注册一个系统级鼠标挂钩,通过监测系统鼠标所在Windows窗口来获取密码,成功获取密码之后,通过发送自定义的 ...

  7. VC星号密码查看器源码

    UINT g_timer = 0; void CGetPwdDlg::StartDeteck() {     // TODO: 在此添加控件通知处理程序代码     //g_hHook=SetWind ...

  8. 最全各种浏览器网页星号点号密码查看最简方法(技术小白也能看懂使用)

    查看浏览器网页星号.点号密码分IE内核的浏览器和非IE内核的浏览器密码查看 1.IE浏览器的密码查看 方法①:(需要懂简单的IT前端技术)按F12--找到密码元素 或 找到你要查看的密码元素--右键- ...

  9. 网页源文件星号怎么显示_【亲测实用】网页隐藏密码查看方法

    怎么查看网页星号密码呢?由于网页密码新增"软键盘"输入法,因此对于部分网页密码,无法通过相关"星号密码查看器"或一般方法来查看.以下小编就根据自己的实际亲测经验 ...

最新文章

  1. IDEA实用插件和技巧
  2. R语言描述性统计分析:假设检验
  3. Android_WebView加载网页保存信息到Cookie
  4. spring4.0:@Configuration的使用
  5. Spring Boot基础学习笔记03:Spring Boot两种全局配置和两种注解
  6. 数据结构与算法——贪心算法汇总整理
  7. linux 主机的网络属性基本配置:
  8. 利用c51进行数模转换并在液晶屏上显示_7.0寸tft触摸液晶屏可满足不同操作需求...
  9. 时间字符串以及时间戳解析
  10. 贝茨视觉训练法 (Dr William Bates)方法
  11. linux xp双系统引导修复工具,XP和Linux双系统启动菜单的修复
  12. 从1加到100,1到100求和 Python代码实现方法
  13. arcgis api for javascript 的swipe的使用
  14. ip a命令显示的UP与LOWER_UP的区别
  15. gdb、ida调试笔记
  16. 变量定义、赋值、初始化
  17. excel两列交叉对比
  18. 10074---深入理解Java中的final关键字
  19. docker.11-基于Docker容器DevOps应用方案 企业业务代码发布系统
  20. vue中使用echart绘制柱状图、折现图、饼状图

热门文章

  1. Excel无法打开,内存或磁盘空间不足,Microsoft Excel无法再次打开或保存任何文档
  2. RK3399平台开发系列讲解(内核调试篇)2.45、debugfs API 汇总
  3. 10.基础备份与时间点恢复
  4. java分布式库存系统_这个是真的厉害,高并发场景下的订单和库存处理方案,讲的很详细了!...
  5. linux克隆机修改网络配置
  6. 在线直播网站源码开发,视频的采集如何实现?
  7. Solr快速入门第七讲——使用SolrJ管理索引库
  8. linux drupal 7安装教程,Ubuntu 14.04 LTS 下安装Drupal 7
  9. 苹果汽车将不支持全自动驾驶;华为云发布研发需求管理工具;腾讯文档发布企业版;OpenAI上线ChatGPT | 每日大事件...
  10. 电子邮件Mailto