网页上检测QQ已登录的实现机制

主要js文件:

http://imgcache.qq.com/ptlogin/ver/10013/js/xui.js?v=10007

建议将该文件格式化后分析,可以通过fiddler 自动响应的功能使用格式化的文件,然后在函数: onQloginSelect 上设置断点,然后跟踪下去就行了。

 

关键技术:

1. 浏览器插件,IE下使用 ActiveObjectX ,其它浏览器使用embed

2. 登录请求通过对域名的限制来实现

 

QQ登录插件文件:

C:\Program Files\Tencent\QQ\Bin\TXSSO\bin\npSSOAxCtrlForPTLogin.dll

 

分析的结果和下面文件中描述的一致,所以不再细说。曾经分析过,只是没有记录,都给忘了,这里记录一下。

 

相关参考资料: 搜索关键字:“embed application nptxsso”

http://1.lanz.sinaapp.com/?p=152

http://www.dewen.org/q/1027

http://www.udpwork.com/item/7598.html

 

学到的一些知识:

——————————————– 摘自上面参考资料

原来,QQ 使用了历史很悠久的 NPAPI(Netscape Plugin Application Programming Interface)接口。NPAPI 几乎支持所有主流浏览器,包括 FireFox、Chrome、Opera(IE 从 5.5 后停止支持 NPAPI,转而使用 ActiveX)。

打开 chrome://plugins/ 我们可以发现自动登录的有关插件,而在路径 C:\Program Files (x86)\Common Files\Tencent\TXSSO 下就可以找到关于 SSO 的相关动态链接库。

Tencent_SSO_plugin

np 插件一般命名都会加np前缀 如 QQ 的这个 npSSOAxCtrlForPTLogin.dll,只要按照标准的写法,放在浏览器会加载的地方,用的时候写个标签就可以在 js 里面调用了。于是跨浏览器(无视 IE)的插件开发变得相当可行。运行在 NPAPI 插件中的代码拥有当前用户的所有权限,不在沙箱中运行,所以它的扩展程序在被 Chrome 网上应用店接受前要求人工审核。

————————————————–

注意“插件”与“扩展”的区别,这里说的是“插件”; 上面提到的“人工审核”机制是怎么做到不审核就无法使用的呢? 在浏览器上通过都需要该浏览器的厂商审核通过?

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据