星号查看关于查看星号的原理

星号查看  时间:2021-07-30  阅读:()

关于查看星号的原理

这个就很专业了,是软件编程方面的问题,你可以看看下面的东西: 几乎所有软件在用户密码输入框都做了手脚,使得用户输入的密码显示为星号“*”,这样就无法使得恶意用户直接看到密码。

但是,网上有很多版本的星号密码查看器,可以还原星号为真实的密码。

我根据自己的一些想法写了星号查看器的源代码,并且根据其原理做了一些防范手段。

使用本源代码写的程序可以查看到很多软件如popo、msn、qq低版本的密码,用户使用VC、VB、BCB编写的软件并且直接使用Edit或者Text组件的话,本代码也可以还原其真实密码。

而使用本修改手法以后的软件,使用网上盛传的passxp以及前面的查看方法均失效。

好了,进入正题。

一、星号查看器原理 Edit或者Text组件有一个属性为“PasswordChar”,我们一般就是设置这个属性已实现把真实密码隐藏为星号的,但它们收到EM_GETPASSWORDCHAR消息以后,会返回其PasswordChar属性值,收到EM_SETPASSWORDCHAR消息后会修改其PasswordChar属性值,当然就可以取消原有的“*”设置,而使其显示真实字符,这时再向其发送WM_GETTEXT消息即可得到其真实密码,很多星号密码查看器都是根据这个原理写的。

关键代码如下(以BCB为例):void __fastcall TForm1::Timer1Timer(TObject *Sender) { POINT P; ::GetCursorPos(&P);//捕捉鼠标屏幕位置 //取得鼠标位置下窗口handle HWND HWnd = ::WindowFromPoint(P); //向此窗口送出"取得标题字符串"信息 char buffer[100];char Char; Char = SendMessage (HWnd,EM_GETPASSWORDCHAR,0,0);//获取密码字符 PostMessage (HWnd,EM_SETPASSWORDCHAR,0,0);//取消密码字符 Sleep (60); SendMessage (HWnd,WM_GETTEXT,255,long(buffer));获取真实密码 PostMessage (HWnd,EM_SETPASSWORDCHAR,Char,0);还原密码字符//显现在Form1窗口的字符串对象上 Caption = buffer; } 这里用了一个计时器,每隔100毫秒调用一次上面的代码。

我们已经看出来了,主要是几个消息坏了我们的大事,如果我们能够屏蔽这几个消息,即可安全隐藏真实密码。

网上有很多屏蔽消息的方法,但都显过于复杂,我的思路如下: 二、防范星号密码查看器 我们可以从TEdit派生一个新的组件,名字为TBugEyesEdit,然后修改其消息定义。

在头文件添加代码如下: public: __fastcall TBugEyesEdit(TComponent* Owner); void __fastcall BugEyes(TMessage &Msg);//自定义消息处理函数 BEGIN_MESSAGE_MAP //消息影射 VCL_MESSAGE_HANDLER(EM_GETPASSWORDCHAR,TMessage,BugEyes) VCL_MESSAGE_HANDLER(WM_GETTEXT,TMessage,BugEyes) VCL_MESSAGE_HANDLER(EM_SETPASSWORDCHAR,TMessage,BugEyes) END_MESSAGE_MAP(TEdit) //结束消息影射 然后在其cpp文件中添加如下代码:void __fastcall TBugEyesEdit::BugEyes(TMessage &Msg) { Msg.Result =0; } 最后安装这个新的组件,并添加到自己的程序中,设置其PasswordChar属性为“*”,然后运行程序,这时星号密码查看器就失效了,无法再看到真实密码。

npidc:9元/月,cn2线路(不限流量)云服务器,金盾+天机+傲盾防御CC攻击,美国/香港/韩国

npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...

金山云:618年中促销,企业云服务器2核4G仅401.28元/年,827.64元/3年

金山云618年中促销活动正在进行中!金山云针对企业级新用户优惠力度比普通个人用户优惠力度要大,所以我们也是推荐企业新用户身份购买金山云企业级云服务器,尽量购买3年配置的,而不是限时秒杀活动中1年的机型。企业级用户购买金山云服务器推荐企业专区:云服务器N3 2核4G云服务器,1-5M带宽,827.64元/3年,性价比高,性能稳定!点击进入:金山云618年中促销活动目前,金山云基础型E1云服务器2核4...

免费注册宝塔面板账户赠送价值3188礼包适合购买抵扣折扣

对于一般的用户来说,我们使用宝塔面板免费版本功能还是足够的,如果我们有需要付费插件和专业版的功能,且需要的插件比较多,实际上且长期使用的话,还是购买付费专业版或者企业版本划算一些。昨天也有在文章中分享年中促销活动。如今我们是否会发现,我们在安装宝塔面板后是必须强制我们登录账户的,否则一直有弹出登录界面,我们还是注册一个账户比较好。反正免费注册宝塔账户还有代金券赠送。 新注册宝塔账户送代金券我们注册...

星号查看为你推荐
常用软件开发工具网站开发过程中常用的工具有哪些java学习思维导图如何一步一步学习java 知乎msn邮箱后缀MSN可加哪几种后缀的email?色中色luntanwww.fzluntan.tk是什么类型的网站啊?印象城市游戏论坛游聚游戏平台如何使用?客服系统方案客户服务系统的设计与实现的开题报告人脸检测综述人脸检测方法flv转换avi怎样把视频flv格式转换成avi 、 mp4格式音响解码音响功放:源码输出和解码输出有什么区别联通玩电信游戏关于联通到底能不能去电信区玩游戏。。。。
草根过期域名 adman cpanel主机 鲨鱼机 eq2 国内php空间 域名转接 web服务器是什么 百度云空间 中国域名 万网空间 ledlamp 免费php空间 闪讯网 免费网站加速 reboot zencart安装 卡巴下载 电脑主机声音大 免费论坛空间 更多