密码查看器&&窗口激活专家
代码如下:
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Programmed by nohacks, kker.cn@163.com
; Website: http://hacker0058.ys168.com
; Win32 ASM is Masm
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 版本信息
; 密码查看器 - 可以查看密码编辑框中的密码
; &&窗口激活专家 - 可以激活灰色按纽
; V1.0 ------ 2006年7月25日
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.386
.model flat, stdcall
option casemap :none
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Include 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
include windows.inc
include user32.inc
include kernel32.inc
includelib user32.lib
includelib kernel32.lib
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; Equ 数据
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ICO_1 equ 1
DLG_MAIN equ 1000
ID_PWD equ 1001
IDC_ENABLE equ 1002
IDC_HANDLE equ 1003
IDC_CurPos equ 1004
IDC_CurHand equ 1005
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 数据段
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.data
template db '%lX',0
posBuffer db 10 dup (0)
D db ",",0
.data?
hInstance dd ?
szBuffer db 256 dup (?)
phwnd dd ?
X db 10 dup(?)
Y db 10 dup(?)
.code
EnableAll proc hWnd:HWND,lParam:LPARAM
invoke IsWindowEnabled,hWnd
cmp eax,TRUE
je getNext
invoke EnableWindow,hWnd,TRUE
getNext:
mov eax,TRUE
ret
EnableAll endp
;********************************************************************
_ProcDlgMain proc uses ebx edi esi, \
hWnd:DWORD,wMsg:DWORD,wParam:DWORD,lParam:DWORD
local @stPoint:POINT
local @hWindow:dword
local @STYLE
local wc:WNDCLASSEX
mov eax,wMsg
cmp eax,WM_TIMER
je getPoint
cmp eax,WM_INITDIALOG
je boxStart
cmp eax,WM_CLOSE
je boxClose
retFalse:
mov eax,FALSE
ret
boxClose:
invoke EndDialog,hWnd,NULL
invoke KillTimer,hWnd,1
jmp retTrue
boxStart:
invoke LoadIcon,hInstance,ICO_1
invoke SendMessage,hWnd,WM_SETICON,ICON_BIG,eax ;设置窗口图标
invoke SetWindowPos,hWnd,HWND_TOPMOST,0,0,0,0, SWP_NOMOVE or SWP_NOSIZE ;窗口置顶
invoke SetTimer,hWnd,1,200,NULL
jmp retTrue
getPoint:
invoke IsDlgButtonChecked,hWnd,IDC_ENABLE
cmp eax,BST_CHECKED
jne Getpass
invoke GetForegroundWindow
push eax
invoke wsprintf,offset posBuffer,offset template,eax
invoke SetDlgItemText,hWnd,IDC_HANDLE,offset posBuffer
pop eax
invoke EnumChildWindows,eax,offset EnableAll,NULL
Getpass:
invoke GetCursorPos,addr @stPoint ;取得鼠标处的坐标位置
invoke wsprintf,offset X,offset template,@stPoint.x
invoke wsprintf,offset Y,offset template,@stPoint.y
invoke lstrcat,offset X, offset D
invoke lstrcat,offset X, offset Y
invoke SetDlgItemText,hWnd,IDC_CurPos, ADDR X ;输出坐标位置
invoke WindowFromPoint,@stPoint.x,@stPoint.y ;取得屏幕指定位置的句柄
mov @hWindow,eax
push eax
invoke wsprintf,offset posBuffer,offset template,eax
invoke SetDlgItemText,hWnd,IDC_CurHand,offset posBuffer
pop eax
cmp eax,0
je retTrue
cmp eax ,phwnd
je retTrue
mov phwnd,eax
invoke SendMessage ,@hWindow,EM_GETPASSWORDCHAR, 0, 0 ;取得编辑框遮盖符代码
mov @STYLE,eax
cmp eax,0 ;如果为0,就不是密码框
je retTrue
invoke PostMessage,@hWindow, EM_SETPASSWORDCHAR, 0, 0 ;关键一句,去掉密码遮盖符
invoke SendMessage,@hWindow,WM_GETTEXT,256,offset szBuffer ;取得编辑框文本→Pass
invoke PostMessage,@hWindow, EM_SETPASSWORDCHAR, @STYLE,0 ;恢复编辑框密码遮盖符
invoke SetDlgItemText,hWnd,ID_PWD,offset szBuffer ;输出密码明文到编辑框
invoke ShowWindow,hWnd,9 ;发现密码后自动弹出
retTrue:
mov eax,TRUE
ret
_ProcDlgMain endp
start:
invoke GetModuleHandle,NULL
mov hInstance,eax
invoke DialogBoxParam,eax,DLG_MAIN,NULL,offset _ProcDlgMain,0
invoke ExitProcess,NULL
end start
程序心得:
记得原来刚接触电脑黑客时最感兴趣的就属破解网吧限制免费上网,当时有一款工具叫"Windows 突破
专家"什么的,我用的最多,也梦想着有一天我也能写这样一个工具就好了,可是,当时我以为要会英语才能
学编程,只好放弃,直到一次偶然的机会我知道了全中文内核的易语言,于是便迷上了编程,开始知道什么叫
API,怎么用API,同时发现各种编程语言调用API的代码都是差不多的,我开始学着看VB,VC等程序的代码,不
明白的地方就问百度问GOOGLE,竟然也能看个大概,2个星期前我想学习破解又开始学习汇编,发现真的很简
单,只要知道了它的语法,剩下的就是API的调用了,在此推荐大家学习!可以在看学论坛置顶的学习资料处
下载到汇编的入门教程,我喜欢Masm,它的教程也多点,如果你讨厌在DOS下编译程序,可以和我一样用----
RadMAS(一款汇编集成开发工具),可以高亮显示代码等非常好用,这些都可以在看雪工具处下载到,祝你好运!
程序界面:
PS:不知道你们感觉怎么样,我觉得用CMP比用宏命令.IF写的程序条理更清楚一点,特别是判断分支多的
时候,那些.IF和.ENDIF看得我头都大了,所以就直接用CMP了.
RadMAS工程源码: getpassword060725.zip