《云端软件平台》运行机制浅析

    我关注《云端软件平台》是因为他参加了 “ 创新软件大赛”,当时 一个我比较关注的软件也参加了比赛,我在看大赛的软件列表中无意看到了“云端”,当时只是感觉这个软件比较有意思而已,没有深入分析。后来听一个去北京参加大赛的朋友说“云端” 拿了金奖,这才令我对“云端”真正关注起来。既然拿了头名,估计今后会小小地火一把,说不定拿到风险投资后会大有作为?其实我更关心的是技术层面的东西。

    在云端网站的FAQ中我看到这样一句话“ 当某软件被激活时,会在下出现目录和文件,隐藏软件则消失。c:/program files/下的目录和文件是云端为软件虚拟的系统位置之一,并不占用C盘实际硬盘空间。软件资源的实际存储地为缓存,只占用缓存所在磁盘的空间。一些需要进入软件安装目录进行的操作,可以进入这个虚拟目录里进行。对该目录下文件的修改将被记入到缓存。”这是比较有意思的地方,就从这里入手吧。

    我在“云端”里下载了一个“搜狗输入法”进行安装,整个过程并没有弹出搜狗输入法的安装界面。在“云端”里激活搜狗输入法,确认该输入法可以正常使用后,我来到了c:/programfiles 下,看到一个“SogouInput”文件夹,打开该文件夹搜狗输入法的各个文件一应俱全,看一下系统的输入法列表,“搜狗拼音输入法” 也在其中,说明相关的注册表项也已经存在。然后我在“云端”里面隐藏了搜狗输入法,“SogouInput”瞬间消失了,系统的输入法列表中也没有“搜狗”了。首先我感觉,至少文件部分不是简单的 “复制” ,因为30多M的文件复制或删除起来应该有一个可以观察到的过程,可是,这个过程在“云端”激活与隐藏软件时是没有的。为了验证我的这个推断,我在搜狗输入法激活的时候,打开“SougouInput”文件夹,运行其中的config.exe,然后隐藏搜狗输入法,congif.exe 随着其所在的文件夹一起消失了,但是正在运行的 config.exe 的窗口还在,我用 SeeMdLine 命令行查看工具查看了一下,这个窗口所对应的可执行文件就是“C:/Program Files/SogouInput/3.6.0.1653/config.exe”这个已经不存在的文件。众所周知,正在运行的 exe 是无法删除的,既然我可以删除“C:/Program Files/SogouInput/3.6.0.1653/config.exe”那就说明真正的被运行起来的 config.exe 并不在“C:/Program Files/SogouInput/”下,但是 SeeMdLine 是从系统中直接获取的路径,也就是说,系统被“骗了”,config.exe 以及搜狗输入法所需的那些文件压根就不再 C 盘,我们看到的“C:/Program Files/SogouInput/”只是另外一个真实存在的文件夹的一个“影子”。这个文件夹到底在哪里呢?联想到“云端”的FAQ“ 可以进入这个虚拟目录里进行。对该目录下文件的修改将被记入到缓存”,我有了一个办法。我在“C:/Program Files/SogouInput/”下新建一个文件,然后在“云端”的 cache 目录中一搜索,果然发现了踪迹。“云端”是如何实现文件的“影子”的呢?相信做过 Hook 之类的朋友应该能想到一些什么。打开“云端”的安装目录,两个 sys 文件赫然在目。我想“云端”在运行时应该是利用驱动程序进入 Ring0 然后 Hook… …反正就是那一套了,我也不想多说了,网上到处是介绍;)

    简单地分析过“云端”的运行机制后,我认为“云端”还是有一定技术含量的,至少驱动程序不是随随便便就可以写的(至少我不会)。其实技术含量是次要的,“创意”才是它的亮点,对吧?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值