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

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

DMIT$10.9/月,日本VPS/三网直连/1核1.5G内存/20GB存储/1Gbps端口

优惠码年付一次性5折优惠码:TYO-Lite-Open-Beta-1y-50OFF永久8折优惠码:TYO-Lite-Open-Beta-Recur-20OFF日本vpsCPU内存SSD流量带宽价格购买1核1.5G20 GB4 TB1Gbps$10.9/月购买2核2 G40 GB6 TB1Gbps$16.9/月购买2核4 G60 GB8 TB1Gbps$21.9/月购买4核4 G80 GB12 TB...

PIGYun中秋特惠:香港/韩国VPS月付14元起

PIGYun发布了九月份及中秋节特惠活动,提供8折优惠码,本月商家主推中国香港和韩国机房,优惠后最低韩国每月14元/中国香港每月19元起。这是一家成立于2019年的国人商家,提供中国香港、韩国和美国等地区机房VPS主机,基于KVM架构,采用SSD硬盘,CN2+BGP线路(美国为CUVIP-AS9929、GIA等)。下面列出两款主机配置信息。机房:中国香港CPU:1core内存:1GB硬盘:10GB...

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

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

星号查看为你推荐
office软件包office软件包括哪几个部分发博客什么是发博文发博客怎样在博客上发文章?java学习思维导图怎样使用思维导图软件美国大选投票实时数据在今年的美国总统选举中奥巴马和罗姆尼的选票各是多少bt4破解教程请问这个无线网络要如何破解?是用BT3还是BT4,求教!!!2020带来好运的微信头像女人带来好运的微信网名是什么?无法清除dns缓存无法清除dns缓存 设置好后重起又是无法清除nero教程nero10刻录教程音响解码音响功放:源码输出和解码输出有什么区别
什么是虚拟主机 主机测评 东莞电信局 主机点评 linode 60g硬盘 免费网站监控 360抢票助手 免费博客空间 坐公交投2700元 免费mysql 域名转接 hostloc 天翼云盘 香港亚马逊 丽萨 论坛主机 iki xshell5注册码 512内存 更多