密码是怎么被察看的 我记的delphi的可以方便的查看;先收藏了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 帮你简洁一下:procedure Tform1.Timer1();var ClassName: PChar; ptCursor: TPoint; hWndOver: HWND; Text: PChar;begin GetCursorPos(ptCursor); hWndOver := WindowFromPoint(ptCursor); GetMem(ClassName, 100); GetMem(Text, 255); try GetClassName(hWndOver, ClassName, 100); SendMessage(hWndOver, WM_GETTEXT, 255, LongInt(Text)); ShowMessage(String(Text)); finally FreeMem(ClassName); FreeMem(Text); end; 帮你简洁一下:procedure Tform1.Timer1();var ClassName: PChar; ptCursor: TPoint; hWndOver: HWND; Text: PChar;begin GetCursorPos(ptCursor); hWndOver := WindowFromPoint(ptCursor); GetMem(ClassName, 100); GetMem(Text, 255); try GetClassName(hWndOver, ClassName, 100); SendMessage(hWndOver, WM_GETTEXT, 255, LongInt(Text)); ShowMessage(String(Text)); finally FreeMem(ClassName); FreeMem(Text); end; GetClassName(hWndOver, ClassName, 100);有什么用? he GetClassName function retrieves the name of the class to which the specified window belongs. windows系统的密码是很脆弱的,因为所有的密码输入的时候都显示为******** 表面上看这很安全,因为一般人不懂*******是什么东西,但其实要看到******* 下的内容是很容易的事,工作原理如下: windows是基于窗口的消息驱动型作业系统,每个窗口都有自已的属性,其中密码窗 口的属性是es_password,所以我们可以利用枚举子窗口enumchildwindows的方法 来找出系统中所有子窗口,再检查其属性getwindowlong,若是es_password则是个密码窗 然后用sendmessage()取得窗口标题,那就是******下的真正内容 =========下面是delphi程序===================== program lookpass; interface uses windows, messages, sysutils; var hcount:integer; //这是一个窗口响应函数,注意:result:=true很重要,因为只有这样才能连续扫描所有子窗口 function lpenumfunc(hwnd:integer;uint:integer):boolean;stdcall; var hw,hs,wlong:integer; sbuf,sb2:array[0..256] of char; sb1:string; begin //得到窗口的属性 wlong:=getwindowlong(hwnd,gwl_style); //若属性为es_password则为密码窗 if (wlong and es_password)<>0 then begin inc(hcount); //发送获取窗口标题的消息 sendmessage(hwnd,wm_gettext,40,integer(@sbuf)); //设置得到的密码 strpcopy(sbuf,format('[password %d] = %s',[hcount,sbuf])); //显示密码 end; //result为true时继续扫描下一个子窗口 result:=true; end; begin lp:=0;hcount:=0; //枚举子窗口,getdesktopwindow用来得到桌面的句柄 enumchildwindows(getdesktopwindow,@lpenumfunc,lp); end. ////////////////////////////////////////////////////////////////////////////// 作者:倪建华 copyright (c) 2001-6-27 allright reserved. 升级到Delphi 2010了,DevExpress5.5谁有汉化或如何汉化 请问Record类型和OleVariant类型怎样互相转换 cxGrid分组统计问题 韩文乱码 cxGrid的数据导出到Excel 之分(解决的人取) excel的纪录行数怎么知道啊? 关于数据库读取数据的问题~ 如何把text文件导入到SQL Server数据库中? 关于ADOQuery的问题 怎么把hotkey和API函数registerHotKey()联系起来。 这样对数据库进行处理 怎样动态的建立一个类型文件,文件的类型是程序运行时,由用户动态的输入而得到的。
procedure Tform1.Timer1();
var
ClassName: PChar;
ptCursor: TPoint;
hWndOver: HWND;
Text: PChar;
begin
GetCursorPos(ptCursor);
hWndOver := WindowFromPoint(ptCursor);
GetMem(ClassName, 100);
GetMem(Text, 255);
try
GetClassName(hWndOver, ClassName, 100);
SendMessage(hWndOver, WM_GETTEXT, 255, LongInt(Text));
ShowMessage(String(Text));
finally
FreeMem(ClassName);
FreeMem(Text);
end;
procedure Tform1.Timer1();
var
ClassName: PChar;
ptCursor: TPoint;
hWndOver: HWND;
Text: PChar;
begin
GetCursorPos(ptCursor);
hWndOver := WindowFromPoint(ptCursor);
GetMem(ClassName, 100);
GetMem(Text, 255);
try
GetClassName(hWndOver, ClassName, 100);
SendMessage(hWndOver, WM_GETTEXT, 255, LongInt(Text));
ShowMessage(String(Text));
finally
FreeMem(ClassName);
FreeMem(Text);
end;
有什么用?
表面上看这很安全,因为一般人不懂*******是什么东西,但其实要看到*******
下的内容是很容易的事,工作原理如下:
windows是基于窗口的消息驱动型作业系统,每个窗口都有自已的属性,其中密码窗
口的属性是es_password,所以我们可以利用枚举子窗口enumchildwindows的方法
来找出系统中所有子窗口,再检查其属性getwindowlong,若是es_password则是个密码窗
然后用sendmessage()取得窗口标题,那就是******下的真正内容 =========下面是delphi程序===================== program lookpass; interface uses
windows, messages, sysutils;
var
hcount:integer; //这是一个窗口响应函数,注意:result:=true很重要,因为只有这样才能连续扫描所有子窗口
function lpenumfunc(hwnd:integer;uint:integer):boolean;stdcall;
var hw,hs,wlong:integer;
sbuf,sb2:array[0..256] of char;
sb1:string;
begin
//得到窗口的属性
wlong:=getwindowlong(hwnd,gwl_style);
//若属性为es_password则为密码窗
if (wlong and es_password)<>0 then
begin
inc(hcount);
//发送获取窗口标题的消息
sendmessage(hwnd,wm_gettext,40,integer(@sbuf));
//设置得到的密码
strpcopy(sbuf,format('[password %d] = %s',[hcount,sbuf]));
//显示密码
end;
//result为true时继续扫描下一个子窗口
result:=true;
end;
begin
lp:=0;hcount:=0;
//枚举子窗口,getdesktopwindow用来得到桌面的句柄
enumchildwindows(getdesktopwindow,@lpenumfunc,lp);
end.
//////////////////////////////////////////////////////////////////////////////
作者:倪建华
copyright (c) 2001-6-27 allright reserved.