JoyChou 发表于 2014-2-15 00:31

获取当前qq号

本帖最后由 JoyChou 于 2014-2-15 00:32 编辑

首先申明:无意分析qq木马的时候看到的。没技术含量。大牛勿喷。

作者:JoyChou
博客:http://joychou.sinaapp.com



1. 通过类名

1.1 通过qqexchangewnd_shortcut_prefix_123456789类名

得到qqexchangewnd_shortcut_prefix_123456789这样的字符串
123456789就是正在登录的qq的号
如果同时登录几个QQ,只能获取最晚登录的q号
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <windows.h>
// 得到qqexchangewnd_shortcut_prefix_123456789这样的字符串
// 123456789就是正在登录的qq的号
// 如果同时登录几个QQ,只能获取最晚登录的q号
int main(void)
{   
    HWND hwnd = FindWindow("5B3838F5-0C81-46D9-A4C0-6EA28CA3E942", NULL);
    if (hwnd != NULL)
    {
      char szText = {0};
      char szQQNumber = {0};
      // 得到qqexchangewnd_shortcut_prefix_123456789这样的字符串
      GetWindowText(hwnd, szText, MAX_PATH);
      // 分割字符串,得到qq号
      int len = strlen(szText);
      do
      {
            len--;
      } while (szText != '_');
      strcpy(szQQNumber, &szText);
      printf("%s\n", szText);
      printf("%s\n", szQQNumber);
      getchar();
    }
}



1.2 通过CTXOPConntion_Class类名


#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main(void)
{   
    char szText = {0};
    char szQQNumber = {0};
    HWND hWnd = FindWindowA("CTXOPConntion_Class", NULL);
    // 得到类似OP_12345678的字符串
    if (hWnd)
    {
      GetWindowText(hWnd, szText, MAX_PATH);
    }
    // 得到12345678 qq号
    int len = strlen(szText);
    do
    {
      len--;
    } while (szText != '_');
    strcpy(szQQNumber, &szText);
    printf("%s\n", szText);
    printf("%s\n", szQQNumber);
    return 0;
    getchar();
}

seemk 发表于 2015-5-6 11:03

本帖最后由 seemk 于 2015-5-6 11:06 编辑

谢谢提供思路,稍作修改即可获取所有QQ号:
#include <stdio.h>
#include <string.h>
#include <windows.h>
int main(void)
{   
    char szText = "CTXOPConntion_Class";
    char szQQNumber = {0};
    HWND hWnd = FindWindow(szText, NULL);
    while (hWnd)
    {
                if(strcmp(szText,"CTXOPConntion_Class")==0)
                {
                        GetWindowText(hWnd, szText, MAX_PATH);
                        int len = strlen(szText);
                        do
                        {
                              len--;
                        } while (szText != '_');
                        strcpy(szQQNumber, &szText);
                        printf("%s\n", szQQNumber);
                }
                hWnd=GetWindow(hWnd,GW_HWNDNEXT);
                GetClassName(hWnd,szText,MAX_PATH);
    }
   
      getchar();
    return 0;
}
但是有一个问题不太明白,我用xuetr可以查看到QQ进程下有5B3838F5-0C81-46D9-A4C0-6EA28CA3E942这个窗口类,却看不到CTXOPConntion_Class这个类,不过用FindWindow还能找到它,这是为什么?被hook了看不到?

JiHyo 发表于 2014-3-19 21:41

JoyChou 发表于 2014-3-19 20:57
查查MSDN吧



不会问是FW函数的用法。
没用过QQ,不知道 5B3838F5-0C81-46D9-A4C0-6EA28CA3E942 这是?

谢谢回复。

1354669803 发表于 2014-2-15 00:33

膜拜大大 大大可以去盗号了

吾爱-路人甲 发表于 2014-2-15 09:14

不错。学习了

ingdear 发表于 2014-2-15 09:18

不错,我试下。

wanghui2249 发表于 2014-2-15 09:34


不错,非常好

莫谷 发表于 2014-2-15 09:57

那请问这个能用在网页上吗?

byximen 发表于 2014-2-15 10:05

有没现成的php 之类源码

JoyChou 发表于 2014-2-15 13:03

byximen 发表于 2014-2-15 10:05 static/image/common/back.gif
有没现成的php 之类源码

应该有,不过我不知道。

莫谷 发表于 2014-2-17 11:24

期待网站上能用啊。这个很有效果的

cancoder 发表于 2014-2-22 23:42

的确能用,谢谢!
页: [1] 2 3 4 5
查看完整版本: 获取当前qq号