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

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

HostYun 新上美国CN2 GIA VPS 月15元

HostYun 商家以前是玩具主机商,这两年好像发展还挺迅速的,有点在要做点事情的味道。在前面也有多次介绍到HostYun商家新增的多款机房方案,价格相对还是比较便宜的。到目前为止,我们可以看到商家提供的VPS主机包括KVM和XEN架构,数据中心可选日本、韩国、香港和美国的多个地区机房,电信双程CN2 GIA线路,香港和日本机房,均为国内直连线路。近期,HostYun上线低价版美国CN2 GIA ...

搬瓦工:新增荷兰机房 EUNL_9 测评,联通 AS10099/AS9929 高端优化路线/速度 延迟 路由 丢包测试

搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...

virmach:3.23美元用6个月,10G硬盘/VirMach1核6个月Virmach

virmach这是第二波出这种一次性周期的VPS了,只需要缴费1一次即可,用完即抛,也不允许你在后面续费。本次促销的是美国西海岸的圣何塞和美国东海岸的水牛城,周期为6个月,过后VPS会被自动且是强制性取消。需要临时玩玩的,又不想多花钱的用户,可以考虑下!官方网站:https://www.virmach.comTemporary Length Service Specials圣何塞VPS-一次性6个...

星号查看为你推荐
怎样恢复系统手机刷机后怎么恢复原来的系统客服系统方案客户管理系统方案都有哪些呢?北漂论坛北漂族的艰辛主要体现在哪些方面?计算机编程基础计算机编程需要什么基础?3d视频制作3dsmax可以制作3d视频吗?视频时间可以多长?先谢谢啦、QQ网上登陆如何在网站上登QQfedora12linux(fedora12) 命令模式下分辨率,请教kc网络电话怎么样用过的说说KC网络电话怎么样吧?日志系统有谁看的懂系统日志吗crm模板常用的CRM系统有哪些
域名服务器的作用 smartvps 网络星期一 ixwebhosting 云主机51web 国外免费空间 全能主机 申请网页 银盘服务是什么 双线机房 512mb 789 广州虚拟主机 黑科云 国外代理服务器 广东服务器托管 香港博客 最新优惠 hosts文件修改 一句话木马 更多