简单的暴力枚举破解密码。程序是一个文本框,一个按钮,一个标签,标签显示当前状态,OK表示密码正确,wrong表示密码错误。程序标题logoin,文本框类Edit,按钮标题登录。
破解程序主要代码如下:
HWND window=::FindWindow(NULL,"logoin");
HWND edit=::FindWindowEx(window,NULL,"Edit",NULL);
HWND button=::FindWindowEx(window,NULL,NULL,"登录");
int flag=1;
Sleep(100);
CString pw;
CString pw2;
int i,j,k;
i='a';
j='b';
k='c';
for(i='a';i<='z'&&flag;i++)
for(j='a';j<='z'&&flag;j++)
for(k='a';k<='z'&&flag;k++)
{
pw.Format("%c%c%c",i,j,k);
::SendMessage(edit,WM_SETTEXT,0,(LPARAM)(pw.GetBuffer(0)));
Sleep(800);
::PostMessage(
button, // handle of destination window
WM_LBUTTONDOWN, // message to send
0X00000001, // first message parameter
0X00160020 // second message parameter
);
Sleep(400);
::PostMessage(
button, // handle of destination window
WM_LBUTTONDOWN, // message to send
0X00000001, // first message parameter
0X00160020 // second message parameter
);
::PostMessage(
button, // handle of destination window
WM_LBUTTONUP, // message to send
0X00000001, // first message parameter
0X00160020 // second message parameter
);
HWND wd=::FindWindowEx(window,NULL,NULL,"OK");
Sleep(1000);
if(wd)
{
pw2=pw;
flag=0;
goto l;
}
// else
// wd=::FindWindowEx(window,NULL,NULL,"WRONG");
}
l:;
AfxMessageBox("密码破译成功:"+pw);