分享
 
 
 

对密码截获工具的防范

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

在写完《利用钩子显示*号密码》,“QQ大盗子夜版后”不少网友给我来信交流,如此简单的就能得到EDIT

密码,不是很不安全?的确。也有网友问到:针对这样的问题,有什么措施?

其实对于EDIT控件,要保护它的内容不难,只要继承EDIT,写一个自已的EDIT类,处理一个消息就能做到。对

于窗口,我暂时不知采取什么措施。不过像QQ,不知大家发现没有?新版(0825,2003我有测试过)登陆窗口

注册向导对话框里,你是不能得到它的窗口名的。大家可以用VC里面的小工具spy++试下看。

下面我们针对PASSWORD框为例,采取相应措施,防止密码被截。

1:新建一个基于对话框的程序

2:从CEdit 类新建一个类,为CMyEdit;

3:加入DefWindowProc函数。在这里面我们将对消息进行判断。如下:

LRESULT CMyEdit::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)

{

if(message==WM_GETTEXT)||(message==EM_GETLINE))

return 0;

return CEdit::DefWindowProc(message, wParam, lParam);

}

4:在对话框中加入一个EDIT控件,设置属性PASSWORD,并为其建立CmyEdit类的对象。

3;现在编译运行看。此时在来看到PASSWORD的内容看。我用的我自己写的工具来测试,如图:

此时,输入密码后,得到的只是几个乱码。已经起到了保护作用。但细心的朋友会发现,此时我们自己的程序也不能得到PASSWORD内容了。怎么办?这就要加入相应的权限控制了。只有非自己的程序截获密码时,才保护。

4:为此,我们在APP类的CPP文件中加入BOOL bIdentify=FALSE,在。H 文件中加入extern BOOL bIdentify;这样我们就可以在其它文件中使用它了。

5:在:DoDataExchange函数中

void CEx_editDlg::DoDataExchange(CDataExchange* pDX)

{

if(pDX->m_bSaveAndValidate) //这里进行判断<1>

{

bIndentify=TRUE;

}

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CEx_editDlg)

DDX_Control(pDX, IDC_EDIT1, m_edit);

DDX_Text(pDX, IDC_EDIT1, m_stredit);

//}}AFX_DATA_MAP

}

有些朋友,可能在<1>处有点不明白,为什么要这样?m_bSaveAndValidate 是什么呢?下面大概的讲下:

CDataExchange类的成员

m_bSaveAndValidate

对应于你提供给UpdateData的参数,当为TRUE时数据从控件传递到变量

m_pDlgWnd

控制窗口或对话框的句柄

PrepareCtrl(int nIDC)

调用该函数,以标识当前控件(如不是编辑框)

PrepareEditCtrl(int nIDC)

调用该函数,以标识当前控件(如是编辑框)

Fail()

产生一个对控件的验证失败(你可以在DDX或者DDV中调用该函数),抛出一个异

常,破坏DoDataExchange函数的执行

现在大家应该明白为什么要上面的<1>这一句了:

if(pDX->m_bSaveAndValidate) //这里进行判断<1>

{

bIndentify=TRUE;

}

也就是说,如果m_bSaveAndValidate为真,既是我们自己的程序要得到EDIT内容,就是合法截取,否则为非法。

6:修改一下DefWindowProc函数,如下:

LRESULT CMyEdit::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam)

{

if((message==WM_GETTEXT)||(message==EM_GETLINE))

{

if(!bIndentify)

return 0;

bIndentify=FALSE;

}

return CEdit::DefWindowProc(message, wParam, lParam);

}

现在来运行下看。一切OK,再也不要怕密码泄露了。

对于如何防止别人得到自己程序的窗口名,请见本人另一文

〈揭开QQ登录窗口的面纱

http://www.csdn.net/Develop/read_article.asp?id=22476

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有