WindowsMobile文件监控系统的设计与实现
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 9期
谢泽科等 : W indow sM ob ile文件监控系统的设计与实现
2535
通过查找存储在内存 中的 A P I信息找到要调用的 AP I代码的 入口地址 , 进而执行该 A P I代码。 如果 TPL 在接收到 AP I调用请 求后 , 不调用 该 A P I本身 的代码 , 而是调用文件监控系统中自定义函数的代码 , 则可以 达到截获 AP I调用的目 的 , 这 就是 W indows M obile 中新的 钩 子技术 [ 10] 。文件监控系统中的自定义函数 , 就是我们所 谓的 钩子函数。
W in32M ethods 表 指 针 必 须 指 向 我 们 自 己 创 建 的 W in32M ethods表。在这里 , 我们创建的 C I N FO 结 构对象其 余 部分必须和原来的 CINFO 结构对象完全一 样 , 至 于我们自 己 创 建 的 W in32 M e thods 表 , 首 先 把 它 初 始 化 为 和 原 W in32M ethods表一样 , 再根据要挂 钩的 AP I在 W in32M e thods 表中的下标 , 找到 这个 A P I在我 们自己创 建的 W in32M e thods 表中所对应的入口地址 指针 , 然后把 它换成 指向钩 子函数 入 口地址的指针 。至此 挂钩 指定 A P I成功。 以挂 钩 D eleteF ile 为例 , 在 挂钩成功后内存中相关数据结构将如图 3 所示。
第 29 卷第 9期 2009 年 9 月
文章编号 : 1001- 9081( 2009) 09- 2534- 03
计算机应用 Journa l o f Com puter App lications
V o. l 29 No. 9 Sep . 2009
W indow sM ob ile文件监控系统的设计与实现
3 W indow s M obile AP I调ቤተ መጻሕፍቲ ባይዱ机制
由于 W indow sM obile文件系统和 所有与文件 相关的 AP I 都是通过 F ileSys. exe进程来管 理 , 所 以只要 掌握了 与文件 相 关的 A P I的调用机制 , 就可以找到设计新的钩子技术的方法。 在 W indow s M ob ile 中 , AP I 采 用 C /S 的 架 构 进 行管 理。 所有 A P I都是由一个特定的进程 提供的。提供 AP I的进程被 称为 TPL ( P ro tected Server L ibra ry ) 。一 个 应 用 程 序 在 调 用 AP I时 , AP I调 用所 对应 的中断 处理 程序会 把 A P I调 用请 求 分发给该 A P I所对应的 TPL , TPL 在接收到 AP I调用 请求后 ,
谢泽科, 胡劲松
( 华南理工大学 计算机科学与工程学院 , 广州 510006 ) ( x iezek e @ 163. com )
摘
要 : 分析了 W indow sM ob ile 的文件系统 , 研究了 W indow sM obile系 统应用程序接口 ( A P I) 的结构及 其调用逻
辑 , 提出了为系统 A P I建立钩子 函数来截获相关 AP I操作的方法 , 并以此为基础设计并实现了 基于 W indow sM obile的 文件监控系统 。 试验结果表明 , 系统可以监控所有 的文件访问操作 。 关键词 : W indow sM obile ; 文 件监控 ; 应用程序接口 ; 钩子 中图分类号 : T P309 ; TP311 文献标志码 : A
图 1 W indow s M ob ile文件系统
1 W indow sM ob ile 系统概述
W indow sM obile是基 于 W indo w s CE 内核 的嵌 入 式操 作 系统 , 具备了许多与 W indow s操作系统相似的界面及功能 , 可 以说是 W indo w s 在智能设备上 的浓缩 版本 , 但系统 底层的 运 行逻辑又存 在着 很大的 差别 [ 1] 1- 2, [ 5- 7] 。 本文所 实现 的文 件 监控系统是针对 W indow s CE 的公共特性提出的 , 所以适用于 所有 基 于 W indows CE 的 操 作 系 统 , 包 括 W indow s M ob ile 。 W indow sM obile文件系统 是一 种灵 活的 模块 化设 计 , 它允 许 自定义文件系统、 筛选器和 多种不 同的块 设备类 型 [ 8] 。 文件 系统和所有与文件 相关的 应用程 序接口 ( A pp lication Progra m Inter face , A P I) 都是通过 F ileSys . exe进程来管理的 , 如图 1。
4 W indow sM ob ile 新的钩子技术的实现
通过上文分析可 知 , TPL 在接收到 A P I调用 请求后 , 会通 过查找存储在内存中 的 A P I信息找到要调用的 AP I代码的入 口地址 , 进而执行该 A P I代码。只 要我们 找到存储 该入口 地 址的相关 AP I信息 , 将该入 口地址 改为我 们自定 义的钩 子函 数的入口地址 , 则可 以使 T PL 执行 我们 的钩 子函 数的 代码 , 实现截获 AP I调用的功能。 4. 1 获取指定 AP I的相关信息 在 W indo w sM ob ile中 , 当系统启动时 , A PI信 息以一 定的 数据结构存储在内 存中。如 图 2 所示 , 每一 个系统 AP I的 信 息对应一个 W in32M e thod 。同一个系列 的 AP I被 组织到 同一 个 Syste mAP ISet 中 , 每个 Sy stemA P ISe t对 应于 一 个 CI N FO 结 构。 CI N FO 结构中 有很多 属性 , 包括 这个 SystemA PISe t的 名 字 , 它所拥 有的 W in32M ethod 个 数等。 由于 W indow s M ob ile 中有很多个 Syste mAP ISet , 所以这些 SystemA P ISet又被存储到 一个 Syste mAP ISets 表中 , 而这个 表的地址则存 储在一个 名为 PU ser KD ata的结构中。 PU ser KD ata这个 结构对象也是存储在 内存中的 , 对于以 ARM 为 CPU 的手机 , PU serKD ata的起 始地 址为 0xFFFFC800; 对 于其 他类 型的 CPU, PU se r KD ata 的起 始 地址为 0x0000C800。
图 3 挂钩 D eleteF ile后关键数据结构
Design and i m plem entation of file m onitoring syste m ofW indow sM obile
X IE Z e ke , HU Jing song
( Colleg e of C omputer S cience and Eng in eering, Sou th Ch ina U niversi ty of Techn ology, Guang zhou G uangd ong 510006 , China )
在 W indow s系统中 , 实现文件 监控的 一般 做法是 利用 钩 子函 数 [ 4, 9] 来 截 获 对 文 件 的 访 问 操 作。 然 而 在 W indows M obile系统上 , 对钩子函数 的支 持仅仅 限于 键盘 钩子。对 于 其他绝大部分的 A P I , W indow sM obile不提供截获 A P I调用的 钩子函数机制。另外由于 W indow sM obile的 AP I调用机制与 PC 上的各种 W indow s 操作系统 均不一样 , 无法 直接把 PC 的 钩子技 术移 植到 W indo w s M obile 上 , 因此 需要 根据 W indows M obile的特点设计新的钩子技 术。
Abstract : T he autho rs ana lyzed the file sy stem o fW indow sM ob ile , and stud ied the structure and call log ic o f the syste m Application Progra m Interface (AP I). Then a w ay estab lish ing hook func tion for the syste m AP I to intercept the relevant A P I operations w as put for w ard as the basis of the design and i m ple m entation of the file m onitor ing syste m based on W indo ws M ob ile . T he exper i m enta l resu lts show that the syste m can m onitor a ll file access operations . K ey words : W indow sM obile ; file mon itoring ; Application P rogra m Interface (A PI); hook 市 场 咨 询 公 司 J. G o ld A ssoc iates 总 裁 杰 克 高 德 ( Jack G o ld) 表示 , 当前智能手机在全球整个手机市场上所占的 份额 为 10 % , 未来 3 至 5 年其 市场 份额 可能 会 增加 至 25% 。可 见 , 智能手机的使用已 经越 来越 普及。而 W indows M obile 操 作系统作为 W indo w s 操作系统 在智能 设备上的 版本 , 其市 场 [ 1] 3 份额日渐扩大 。但同时 , 针对 W indo w s M ob ile操作系 统的 病毒、 蠕虫、 木 马也 逐渐 增多 , 因 此开 发针 对 W indo w s M ob ile 的 安 全 软 件 已 经 是 大 势 所 趋 [ 2- 3] 。 但 是 目 前 专 门 保 护 W indow s M ob ile 文 件 安 全 的 软 件 并 不 多。 国 内 外 关 于 W indow sM obile文件监控系统的 文献还未见 报道。本文 针对 上述问题 , 提出了一个以钩子 技术 [ 4] 为核 心的文 件监控 系统 的设计与实现方案。该文件监控系统能 够监控并截获各种文 件操作 , 从而可以使用户的文件免受病毒影响 , 甚至可以防止 恶意程序的运行。 执行、 修改及删除 等 ) 触 发时 , 先 在系 统底 层截 获该 操 作 , 在 对文件进行一定的安全 分析后 , 才决 定是否 允许这 些操作 执 行。通过设定合理的安 全分析机 制 , 就可以 有效地对 特定 文 件 ( 如病毒 ) 进行监控 , 从而达到保护系统 安全的目的。
2 文件监控原理
文件监控的原理是当文 件的相 关访问 操作 ( 包括 读、 写、
收稿日期 : 2009- 03- 26 ; 修回日期 : 2009- 05- 15。 基金项目 : 国家自然科学 基金资助项目 ( 60574078 ) ; 广东省 自然科学 基金资助 项 目 ( 31454) ; 广州市科技计划应用基础项目 ( 2006 J1 C0321) 。 作者简介 : 谢泽科 ( 1983- ) , 男 , 广东潮州人, 硕士研究生 , 主要研究方向 : 最优化算法、 手机软件设计 ; 副教授 , 博士 , 主要研究方向 : 人工智能、 最优化算法。 胡劲松 ( 1969 - ) , 男 , 湖南湘 潭人 ,