news 2026/6/10 15:36:26

汇编语言全接触-100.拾取密码框中的密码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
汇编语言全接触-100.拾取密码框中的密码

概述:

其实早有所闻 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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 22:52:10

深入解析“魔术方法”——定义、应用与跨语言比较

摘要本报告旨在全面、深入地探讨编程领域中的“魔术方法”(Magic Methods)这一核心概念。报告首先从通用定义出发,阐释了魔术方法的本质特征,即其特定的命名约定和由语言解释器在特定时机自动调用的行为模式 。报告的核心部分将分…

作者头像 李华
网站建设 2026/6/10 11:22:57

‌如何测试AI的“推理深度”?我设计了“五层追问”测试

五层追问不是提问技巧,而是一套可度量、可复用的AI推理测试框架‌ 在AI辅助测试用例生成、缺陷根因分析、自动化决策等场景中,AI的“推理深度”直接决定测试质量的下限。传统评估仅关注输出结果是否正确,而‌“五层追问”测试法‌通过结构化…

作者头像 李华
网站建设 2026/6/10 12:53:26

亚马逊云渠道商:如何在AWS控制台中创建每月成本预算?

随着企业上云规模扩大,AWS 账单意外超支成为常见痛点。据统计,超 80% 的企业因未设置成本预警遭遇费用失控。AWS 每日成本预警功能通过实时监控和自动通知,帮助企业及时干预预算异常。本文介绍如何在AWS控制台中创建每月成本预算,…

作者头像 李华
网站建设 2026/6/10 11:26:16

Java中构建前端可视化维度指标列表:从代码实现到最佳实践

在后端对接前端可视化需求(比如雷达图、多维度评分展示)时,经常需要把数据库中分散的字段,转换成前端友好的结构化数据格式。今天记录一段典型的“维度指标列表构建代码”,从实现逻辑到优化思路一次性讲透。 一、需求背…

作者头像 李华
网站建设 2026/6/10 13:08:21

汽车制造如何通过质量分析提升整体生产品质与效率?

在智能制造浪潮席卷而来的当下,质量分析早已不是过去那种简单统计报表、事后抽检的环节——它正悄然演变为驱动汽车制造业真正升级的核心引擎。尤其是在汽车这么复杂的产品上,成千上万的零部件、高度定制化的订单,传统那种靠老师傅“摸、看、…

作者头像 李华
网站建设 2026/6/10 13:08:07

LLM动态调参医疗设备故障预警提前30%

📝 博客主页:Jax的CSDN主页 LLM动态调参:医疗设备故障预警提前30%的范式突破 目录 LLM动态调参:医疗设备故障预警提前30%的范式突破 1. 引言:医疗设备故障的隐性危机 2. 现有预警系统的瓶颈与LLM的破局点 3. LLM动态调…

作者头像 李华