腾讯网站检测QQ浏览器状态相关分析

原理介绍:

  1. 浏览器是可以通过ActiveX, PPAPI来跟本机已经存在的DLL通讯的
  2. 浏览器默认检测系统盘下Porgram Files\Common Files的所有DLL,并加载扩展到其插件系统中,Chrome下可以通过chrome://plugins/查看相关插件
  3. DLL可以访问QQ客户端的状态
实现方式:
  1. QQ在安装的时候将需要的插件安装到C:\Program Files (x86)\Common Files\Tencent\,其中TXSSO只是其插件之一
  2. Chrome 浏览器在安装好以后会检测C:\Program Files (x86)\Common Files\下的所有插件,并加载启用,可以通过chrome://plugins/启用和停用
  3. 在访问腾讯需要登录网站的时候,加载sso.js,主动调用Chrome下的腾讯所属插件,实现检测QQ是否在线的通讯
浏览器兼容:
  1. 首先判断是否兼容ActiveX,如果兼容则以ActiveX的方式调用DLL
  2. 再判断是否存在MIME为application/nptxsso类型的插件,存在则以该种方式调用DLL
  3. 如果以上两种都不属于,则放弃检测
相关下载: sso.js

发表评论

邮箱地址不会被公开。