|
首先声明我这么做并不是为了盗号,请不要问我任何关于盗号的疑问。极其痛恨那些盗号的无赖们。: z8 f- }6 W P: T$ r0 H
如果你的qq密码丢了,并且没有申请密码保卫,或忘了密码保卫,我除了表示同情,并替你痛骂那些盗号的无耻之徒以外别无它法。
% t: Q& x6 I A, u* }6 _. K 其次,我要提醒广大qq用户,一定要留心管理好自己QQ的密码保卫,以便找回密码。不要以为的杀毒软件很厉害,也不要以为腾讯目前的所谓的“国际领先的Nprotect键盘加密技能 ”有多强,有密码保卫才是正道!! " q7 i/ P$ M* T" u
破解“国际领先的Nprotect键盘加密技能 ”,对于老版本(qq2005),前辈们有很多办法了:有直接改写npkcntc.dll的,有将npkcntc.dll删除,然后hook住LoginCtrl.Dll将带红叉图片的替换为不带红叉的。但似乎那些对于新版本QQ都失效了,以上两种要领都逃不过LoginCtrl.Dll里面的验证函数,QQ启动会受到阻止。 ; e1 S+ X7 `. _- S( O2 \ q* G- ?. S
qq没有加壳,调试起来真方便,很快我们就可以找到其它的突破口。以下我介绍其中最基本的一种,也是几乎对目前所有版本的QQ都适用的一种:hook住QQ进程模块儿里的npkcntc.dll函数SetWindowLongA的调用,我们什么都不处理,直接返回0.
) z+ }) R. D5 _7 a3 X3 {5 V 说道这里,相信很多老手们都明白了,原来qq的密码输入框的消息处理函数被定为到npkcntc.dll模块里了,它在这里对密码框的键盘输入执行 加密,然后把加密后的字符在以消息的形式通知给主窗口,我们要做的就是让密码框的消息处理函数根本的不到机会执行,这样,这窗口处理键盘消息,这样我们加的全局键盘钩子就可以的到想要的键盘输入了。
- I: P3 G# a- e: ]0 k& H. j+ ~# V 这里还有个小小的疑问,对于hook住npkcntc.dll函数SetWindowLongA的调用,我们什么都不处理,直接返回0,我们确实可以正确得到用户的输入,得到qq密码,但是,QQ却提示密码出错(即使你输入的是正确的)。对于这个疑问,我有个处理方案,是我无意中发觉的,我说不出原由,因为我的调试技能是初学还不是很精,我把它写出来,希望有人能帮我分析一下,谢谢。
' l# f7 D3 m o5 o5 o; t( i; x hook住npkcntc.dll函数SetWindowLongA的调用,直接返回0,qq却提示密码出错疑问处理方案如下: ! I3 i: L2 D' r7 ]9 D* l0 X
在我们自己的SetWindowLongA中返回0之前,我们建立一个临时的窗体,这个窗体建立并显示(可以在屏幕以外显示,这样就看不见了)后,立即退出,这样疑问就处理了。 |
|