对QQ密码框的防盗机制的探索

本文探讨了如何通过Hook技术尝试获取QQ密码框的按键信息,分析了QQ如何抢先一步获取用户按键、产生假按键信息以及对按键进行映射的机制。通过分析键盘钩子的KBDLLHOOKSTRUCT结构体,作者揭示了QQ识别和过滤虚拟按键的方法,并讨论了如何更有效地过滤QQ的假信息。最后,作者推测了更安全的防御策略,并分享了相关研究和反汇编代码。
摘要由CSDN通过智能技术生成

  在半年前的暑假,刚刚接触到了Hook,就想试试用Hook能不能获取到QQ的密码,但是得到的是一堆乱码,所以也就没再继续了,因为当时我只是只菜鸟;半年后,我成了大一点的菜鸟,但我又来挑战QQ的密码框,因为我知道我并不比TX 菜到哪里去,事实上,经过一阵子的摸索,发现TX的防盗确实很菜。

首先重现一下当年的情形,用MFC写了个演示程序,初始化的时候装一个全局低级键盘钩子

m_hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, ::GetModuleHandle(NULL), 0);

由于这种低级钩子不需要写在dll中,所以Module就是自身,操作系统会在每次收到键盘消息是先切换到你的钩子线程,执行完后再把消息往下传。

LowLevelKeyboardProc内容如下

 

一个很普通的键盘记录过程,但当我把焦点对准QQ的密码框时,就开始乱弹信息了(图中所有数字按键均为自动产生的信息),我尝试输入

aabbccdd,但是从图中可以看到,出来的却是 kkggyyhh 四个按键,由此,可以得到以下三点结论

1、Q

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值