庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>安全技术>软件破解>反汇编>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

拾取密码框中的密码

 作者:本站收集   日期:2005-5-26
字号选择〖 〗/ 双击滚屏 单击停止   
概述:

    其实早有所闻 Windows 的马虎,Windows打星号的密码框中的密码实际上是很容易得到的,我以前看到过的资料说是检索屏幕上的窗口,找到有 ES_PASSWORD 风格的就向它发送取消 ES_PASSWORD 的消息,然后刷新它,密码就在原来的地方显示出来了,这儿还有另一个办法,就是找到密码框,直接取得中间的文本,这里是本文中的所有的源程序。
    程序的结构如下: 初始化的时候设置一个定时器,定时时间为0.1秒,然后在定时器消息中利用 GetCursorPos 取得当前鼠标的位置,再利用 WindowFromPoint 取得该位置的窗口句柄,如果成功的话,利用 GetWindowLong 取得窗口的风格,如果窗口有 ES_PASSWORD 风格的话,那么这肯定是个密码框,然后我们向它发送 WM_GETTEXT 消息取得中间的文本就万事大吉了,简单吗?下面是源程序,结合上面的介绍是很好懂的。
    最后,如果你的163密码泄密了可不是我的错喔! :-)

源程序:

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	Programmed by 罗云彬, bigluo@telekbird.com.cn
;	Website: http://asm.yeah.net
;	LuoYunBin's Win32 ASM page (罗云彬的编程乐园)
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	版本信息
;	密码查看器 - 可以查看 ES_PASSWORD 风格的编辑框中的密码
;	   V1.0 ------	2000年6月18日
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		.386
		.model flat, stdcall
		option casemap :none   ; case sensitive

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	Include 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

include		windows.inc
include		user32.inc
include		kernel32.inc
include		comctl32.inc
include		comdlg32.inc

includelib	user32.lib
includelib	kernel32.lib
includelib	comctl32.lib
includelib	comdlg32.lib

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	Equ 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

DLG_MAIN	equ		1000
ID_PWD		equ		1001

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		.data?

hInstance	dd	?
szBuffer	db	256 dup	(?)

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	子程序声明
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_ProcDlgMain	PROTO	:DWORD,:DWORD,:DWORD,:DWORD

		.data

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;	代码段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

		.code

include		Win.asm

;***********************************************
_ProcDlgMain	proc	uses ebx edi esi, \
		hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD
		local	@stPoint:POINT
		local	@hWindow

		mov	eax,wMsg
		.if	eax == WM_CLOSE
			invoke	EndDialog,hWnd,NULL
			invoke	KillTimer,hWnd,1
		.elseif	eax == WM_INITDIALOG
			invoke	_CenterWindow,hWnd
			invoke	SendDlgItemMessage,
hWnd,ID_PWD,EM_SETREADONLY,TRUE,NULL invoke SetWindowPos,hWnd,HWND_TOPMOST,0,0,0,0,\ SWP_NOMOVE or SWP_NOSIZE invoke SetTimer,hWnd,1,100,NULL .elseif eax == WM_TIMER invoke GetCursorPos,addr @stPoint invoke WindowFromPoint,@stPoint.x,@stPoint.y mov @hWindow,eax .if eax != NULL invoke GetWindowLong,@hWindow,GWL_STYLE .if (eax & ES_PASSWORD) invoke SendMessage,
@hWindow,WM_GETTEXT,255,offset szBuffer invoke SetDlgItemText,
hWnd,ID_PWD,offset szBuffer .endif .endif .else ;************************************************ ; 注意:对话框的消息处理后,要返回 TRUE,对没有处理的消息 ; 要返回 FALSE ;************************************************ mov eax,FALSE ret .endif mov eax,TRUE ret _ProcDlgMain endp ;****************************************************** start: invoke GetModuleHandle,NULL mov hInstance,eax invoke DialogBoxParam,hInstance,
DLG_MAIN,NULL,offset _ProcDlgMain,0 invoke ExitProcess,NULL end start

上一篇:如何检测CPU的主频    下一篇:检测内存中的 Soft-Ice  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-5-26
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿