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

星号查看  时间: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属性为“*”,然后运行程序,这时星号密码查看器就失效了,无法再看到真实密码。

小渣云(36元/月)美国VPS洛杉矶 8核 8G

小渣云 做那个你想都不敢想的套餐 你现在也许不知道小渣云 不过未来你将被小渣云的产品所吸引小渣云 专注于一个套餐的商家 把性价比 稳定性 以及价格做到极致的商家,也许你不相信36元在别人家1核1G都买不到的价格在小渣云却可以买到 8核8G 高配云服务器,并且在安全性 稳定性 都是极高的标准。小渣云 目前使用的是美国超级稳定的ceranetworks机房 数据安全上 每5天备份一次数据倒异地 支持一...

Sharktech$129/月,1Gbps不限流量,E5-2678v3(24核48线程)

Sharktech最近洛杉矶和丹佛低价配置大部分都无货了,只有荷兰机房还有少量库存,商家又提供了两款洛杉矶特价独立服务器,价格不错,CPU/内存/硬盘都是高配,1-10Gbps带宽不限流量最低129美元/月起。鲨鱼机房(Sharktech)我们也叫它SK机房,是一家成立于2003年的老牌国外主机商,提供的产品包括独立服务器租用、VPS主机等,自营机房在美国洛杉矶、丹佛、芝加哥和荷兰阿姆斯特丹等,主...

VPSDime7美元/月,美国达拉斯Windows VPS,2核4G/50GB SSD/2TB流量/Hyper-V虚拟化

VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...

星号查看为你推荐
java学习思维导图优秀好用的免费流程图与思维导图绘制工具有哪些,最好mac下和windows下都可以用。安卓性能测试工具谁能介绍几个测试手机性能的软件?百度预测世界杯世界杯预测微软永久关闭实体店微软windows10易升怎么关闭大数据的分类什么是大数据,它有哪些特点开源视频会议远程视频会议有永久免费的吗?vsanexsi vsan 实际使用怎么样草莓派论坛急急急,草莓派有没有客服?QQ网上登陆如何在网站上登QQ数据库探针怎样理解数据库中的2NF
买虚拟主机 香港vps 北京vps主机 怎样申请域名 日本软银 pw域名 搜狗抢票助手 镇江联通宽带 三拼域名 40g硬盘 国外视频网站有哪些 web服务器搭建 申请网站 web应用服务器 注册阿里云邮箱 免备案cdn加速 cdn服务 ncp是什么 最新优惠 月付空间 更多