从程序开发角度看QQ行为
特别策划
360的隐私保护器也不是是新东西,很早就有程序员开发了类似的QQ行为查看软件,例如QQ侦探既可以查看QQ/TM访问了哪些文件,又可以阻止QQ/TM访问这些文件(使用该软件后,会导致QQ的部分功能无法正常使用)。
此类软件是怎么知晓QQ访问了哪些文件?答案就在CreateFileW中。CreateFileW是一个编程中常常被用到的微软系统API函数,它的作用是调用文件,通过它就可以访问硬盘中的所有程序和文件,所以查看工具只要监控QQ.exe对CreateFileW函数的调用,就可以知晓QQ访问了哪些文件夹、调用了哪些程序。
从程序开发角度来看,要实现QQ的全部功能,需要访问哪些文件呢?第一类文件是QQ文件,主要是QQ安装目录中的文件,通过调用这些文件就可以使用聊天、视频等常用功能。需要注意的是,有的QQ文件并不在QQ安装目录中,例如有的QQ聊天记录就保存在Documents and Settings中。
第二类文件是C:\WINDOWS\system32中的文件,它们是系统的重要文件,离开它们QQ就无法正常工作,例如无法进行联网操作、无法聊天、无法保存聊天记录、无法显示表情等,QQ离不开系统文件。
第三类文件是第三方工具文件。QQ要播放某些Flash动画,就会用到Flash工具;要打开聊天窗口中的链接,就要调用IE工具;要在聊天窗口中显示图片,就要用到系统自带的图片显示工具;要打开传输的文档,会用到Office工具。QQ访问得较多的是这四种工具的文件夹。
总的来说,开发类似QQ这样的软件,会访问QQ文件、系统文件和第三方工具的文件。除了这三类文件,软件访问其他文件,就不是必需的。需要注意的是,QQ虽然会访问第三方工具的文件,但没有必要访问保存工具使用历史记录的文件。
从360隐私保护器截图中,我们可以看到,提示QQ可能涉及用户隐私的多是第三方工具的EXE文件,那EXE文件会不会泄露用户的隐私呢?前面已经讲过,QQ要实现某个功能时就会调用相应的第三方工具,调用的如果是EXE,那说明是正常调用,基本上没有泄密的可能,如果调用的是第三方工具的数据文件(.db、.dat等),那QQ就有窃取用户隐私的嫌疑。
也有朋友问到QQ应该不会借助MSN完成某个功能,为什么显示会调用MSN的文件?举个例子,如果你用了QQ的文件传输功能,点击文件传输以后,系统会弹出一个文件选择对话框。假设初始目录是桌面,而桌面上面有MSN等软件的快捷方式,这个时候系统自己就会调用CreateFileW函数去打开快捷方式对应的EXE文件来获取软件的图标,这是一个非常正常的操作。
此外,在传输文件时,QQ不仅调用第三方工具的EXE文件,还会调用用户的图片文件,这会不会泄露用户隐私呢?基本上不会,因为在传送/接收图片的时候QQ一定要调用图片文件,不然就无法完成操作。
总之,单纯从调用文件看,无法判断出是否“窥私”,还需要分析调用的目的。因此,对于当前的争议,用户不必过于担心,关注事情的进一步发展即可。