Android智能手机系统中文件实时监控的研究与实现

1718科学技术与工程9卷
操作口1。通过对列表文件filelist—proc—file的读写,可以动态添加新的文件到watch—filetist中;通过将控制命令写入到控制文件fp—control—proc—file可实现对watchfilelist更新、删除等操作。下面是filelist_proc_file和印一control_proc_fde的实现代码:fdelist_pmc—file=create—proc—entry(。watch—filelist”,0644.fp—proc_dir);//创建filelist_pmc_file
filelist_proc_file一>data=data.bur;
//将信息写到fdelist_proc_file
filelistproc3de一>read_proc=proc—readfilelist;//从proc读取文件信息
filellst_proc._file一>write_prcc。prcc—write—melis∥/向proc写人文件信息
最后由函数proc—write—fi]elist()调用create—llst((&wa
tch—fdel·ist。f_data。sizeoff_data)函数.将要监控的文件添加到watch—filelist链表中。
3.2获得文件监控信息
在对watch—filelist中的文件进行监控后,需要获得在监控的文件上所发生的事件;通过分析,确定的数据结构为structwatch_event_queue。即通过建立事件队列来保存该文件上所发生的事件,该数据结构如下所示:
SImctwatch_event_quene{
intcapacity;//队列容量
intfront;//上一节点位置
平板天线
intrear;//下一节点位置
intsize;//当前队列大小
watch_event_queue··event;//指向事件节点
}·events;当event一>size=0时,表示事件队列为空,当event一>size=event一>capacity时表示事件队列已满。初始化事件队列后.对发生的事件记录在事件队列结构中.完成操作为events一>size++;events一>_ear=next—position(events一>瑚r.events),所有发生的事件将按照发生的先后次序链接在队列中,最后按照先进先出的顺序输出,并保存在生成的日志文件watch—log中。
存车牌3.3交叉编译内核
Android手机系统所使用的镜像文件位于An·droidSDK中images文件中,包含有ramdisk.img、system.img、userdata.img、kernel—qemu四个镜像文件。其中ramdisk.img是启动使用的根文件系统映象,system.img是Android的系统镜像,userdata.img为保存用户数据的镜像文件,kernel.qemu则是需要替换的Linux2.6内核镜像文件。
因为Android系统使用的是嵌入式Linux系统,采用较新的arm926-ej.s内核,所以要使用交叉编译工具编译内核。这里使用了arm.none.eabi交叉编译工具,在linux2.6环境下,执行makemenuconfig命令配置Android的内核编译
参数,然后修改kernel目录中的Makefile文件,其中ARCH=arm,CROSS—COMPILE=arm—none—eabi一。最后用make命令生成镜像文件,kemel/arch/ann/boot/zlmage文件就是我们需要的内核镜像。
3.4查看日志信息
在对监控列表中的文件进行监控后,发生在文件上的所有事件都将被记录在系统中的watch—log文件中;为方便查看发生在监控文件上的事件信息,我们在Android平台下设计了一个小型的浏览器log_browser.apk,应用API函数为FileReader(),关键实现代码为:
发动机调速器StringBuffernewTxtFileBuf=newStringBuffer(4000);//接收信息fllerend=nwFihReader(file);//读取文件信息
BufferedReMerbIJ缸Bd=IlwBufferedReader(filerend);//缓存信息
newTxtFileBuf.append(bufread.readLine());11读取信息
通过adbinstall命令将log—browser.apk安装在Android系统中,log_browser如图2所示。
4测试
图2日志查看器log_browser
Android提供了Emulator模拟器,不需使用物理设备即可预览、开发和测试Android应用程序的功能。同时还提供了AndroidDebugBridge(adb)调试桥,它是通用的debug工具,通过它可以管理设备或者模拟器的状态,使用adb
shell命令进入模拟器,
7期温敏,等:Android智能手机系统中文件实时监控的研究与实现1719
在shell状态可以查看系统、执行命令。
测试环境使用AndroidSDK为android—sdk—win—dows-0.9_beta版本,其采用了Linux-2.6.25一Android内核。将测试文件test.txt、/sys、/etc加入到监控列表进行监控,对其测试的结果如图3所示。
图3打印监控文件信息
同时,在Android系统的根目录下生成日志文件watch—log(如图4所示),用log—browser打开watch—log可以看到发生在测试文件上的事件信息(如图5所示)。
密封杯图4生成watchlog文件
图5生成日志文件
从上述测试结果可以看出,对发生在监控文件上的事件能够进行有效的监控,可以达到实时监控文件的目的。
5结论
本文实现的在Android系统中采用文件的实时监控技术,已经在西安市科技创新支撑计划项目——“智能手机的安全防护技术”中使用,能有效、实时、准确的记录监控文件上发生的操作,并以日志形式记录到手机当中去,能较好的满足当前的一些应用。当然,该技术还需要进一步的完善,需要在日后的工作中不断地探索和研究,以形成一套实用的文件监控系统。随着C,oosle公司大力推广Android平台和Android智能手机的推出,相信会有很好的应用前景。
参考文献
l王启智。申功迈,单和平.实用UNIX和Internct安全技术.北京:电子工业出版社,1999:139—237
2毛勇强。黄光明.武汉:华中师范大学物理学院.YAFFS文件系统在嵌入式Linux的实现http://www.∞w.唧.on/news/display/article./4170
3BarM.Linux文件系统.北京:清华大学出版社,2003:31—63
4毛德操,胡希明.Linux内核源代码情景分析.杭州:浙江大学出版社.2001:419—鹋7
全热交换机5JonesMT.AccesstheLinuxkernelu8illgthepmefilesystem.(200卜3--14)http://www.ibm.corn/developerworka/linux/library/l-pine.
html.
6陈莉君,冯锐,牛欣源.深入理解Linux内核M.北京:中国电力出版社.2∞l:364--412
7]慨ltthewN。StonesR.Linux程序设计.北京:人民邮电出版社。
2007:99一140
8李善平.等.tinux内核指导M.杭州:浙江大学出版社,2002:236--277
9JonesMT.AnatomyoftheLinuxfilesytRem.htlp://www.ibm.corn/developerwoA∥hmtx/library/I·linu匡-fihsystem.(200r7一lO—30)筷子消毒器
(下转第1724页)
Android智能手机系统中文件实时监控的研究与实现
作者:温敏, 艾丽蓉, 王志国, WEN Min, AI Li-rong, WANG Zhi-guo 作者单位:西北工业大学计算机学院,西安,710129
刊名:
科学技术与工程
英文刊名:SCIENCE TECHNOLOGY AND ENGINEERING
年,卷(期):2009,9(7)
1.Jones M T Anatomy of the Linux file system 2007
2.李善平Linux 内核指导M 2002
3.Matthew N;Stones R Linux程序设计 2007
4.陈莉君;冯锐;牛欣源深入理解Linux 内核M 2001
5.Jones M T Access the Linux kernel using theprocfilesystem 2006
6.毛德操;胡希明Linux内核源代码情景分析 2001
7.Bar M Linux文件系统 2003
8.毛勇强;黄光明武汉:华中师范大学物理学院.YAFFS文件系统在嵌入式Linux的实现
9.王启智;申功迈;单和平实用UNIX和Internet 安全技术 1999
本文链接:d./Periodical_kxjsygc200907011.aspx

本文发布于:2024-09-23 06:28:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/107707.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:文件   监控   使用   内核
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议