我写的有关Smack和Android系统结合的技术博客,希望有志之士可以参透其中奥妙,Smack作为Linux内核安全模块,已经可以移植到Android系统中,如果大家弄清我写的Smack安全策略,可以结合自己想法,将Smack继续和Android系统结合,将会发挥更好的访问控制效果。

为了实现模块化编程,libsmack库作为静态库或动态库装载,并为其它功能模块提供调用接口。libsmack库包含了smack开放给应用层的实用工具,其中较常用的是load_smack、setsmack和setsmackrule,它们分别表示装载smack虚拟文件系统、特权进程为自身设置安全标签和特权进程向/smack/load中写人smack规则。

1. 定义头文件和源文件

打开终端shell,输入指令“cd /android4.0/externalmkdir libsmack cd libsmack mkdir include mkdir src”,其中include为头文件所在目录,src为源文件所在目录。切换到include目录中,输入指令“mkdir smack cd smack vim smack.h”,定义以上三个函数,如下所示:

切换到src目录下,新建load_smack.c、setsmackrule.c和setsmack.c三个文件并将这些函数实现。load_smack函数使用mount函数来挂载smackfs,setsmackrule首先格式化参数,然后利用write函数向/smack/load写入一条smack规则,setsmack利用write函数向“/proc/self/attr/current”中写入进程安全标签。

2. 定义Android.mk文件

Android.mk文件是Android源码的编译文件,包含了编译规则,类似Linux的makefile文件,Android.mk书写是有规则可循的,在此不再阐述。在该文件中加入“include $(BUILD_STATIC_LIBRARY)”和“include $(BUILD_SHARED_LIBRARY)”将其编译成静态和动态链接库。

[置顶] 对于最新的Android病毒,Smack完全可以抵御的更多相关文章

  1. android驱动[置顶] 我的DIY Android之旅--驱动并控制你的Android开发板蜂鸣器

    改章节个人在深圳游玩的时候突然想到的...这几周就有想写几篇关于android驱动的博客,所以回家到之后就奋笔疾书的写出来发布了 这些天一直在想Android驱动框架层的实现,本文借助老罗教师的博客和 ...

  2. [置顶] 让你的Android应用与外部元素互动起来

    传送门 ☞ 轮子的专栏 ☞ 转载请注明 ☞ http://blog.csdn.net/leverage_1229 一个Android应用程序通常有几个activities.每个act显示一个用户接口允 ...

  3. [置顶] 让导入的Android项目,运行起来的方法。

    Eclipse里面直接import的代码,不能运行出现如下错误: [2013-12-12 12:58:55 - Dex Loader] Unable to execute dex: java.nio. ...

  4. Android最新锁屏病毒分析及解锁

    一.情况简介   从去年开始PC端的敲诈者类病毒在不断的爆发,今年年初的时候手机上也开始出现了敲诈者之类的病毒,对这类病毒很无语也是趋势,因为很多时候病毒的产生是和金钱利益相关的.前天去吾爱破解论坛病 ...

  5. [置顶] Android开发笔记(成长轨迹)

    分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...

  6. Android最新敲诈者病毒分析及解锁

    一.情况简介 从去年开始PC端的敲诈者类病毒在不断的爆发,今年年初的时候手机上也开始出现了敲诈者之类的病毒,对这类病毒很无语也是趋势,因为很多时候病毒的产生是和金钱利益相关的.前天去吾爱破解论坛病毒样 ...

  7. Android自定义ScrollView实现一键置顶功能

    效果图如下: (ps:动态图有太大了,上传不了,就给大家口述一下要实现的功能吧) 要实现的功能:当ScrollView向上滑动超过一定距离后,就渐变的出现一个置顶的按钮,当滑动距离小于我们指定的距离时 ...

  8. Android的SwipeToDismiss第三方开源框架模拟QQ对话列表侧滑删除,置顶,将头像图片圆形化处理。

      <Android SwipeToDismiss:左右滑动删除ListView条目Item> Android的SwipeToDismiss是github上一个第三方开源框架(github ...

  9. android linearlayout imageview置顶摆放

    在练习android时,想在Linearlayout内放一图片,使其图片置顶,预期效果是这样的: 但xml代码imageview写成这样后, <ImageView android:layout_ ...

随机推荐

  1. HTML标签练习

    <html> <> <body> <h4>一个无序列表:</h4> <ul> <li><a href=&quo ...

  2. ManagedPipelineHandler IIS

    IIS上部署MVC网站,打开后500错误:处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“ManagedPipelineHandl ...

  3. git add相关

    git add -A stages All git add . stages new and modified, without deleted git add -u stages modified ...

  4. JavaScript 客户端JavaScript之 Web浏览器的环境

    Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容)  Web浏览器中的Javascrip ...

  5. 关于keil单片机编程中的data,idata,xdata,pdata,code数据类型

    从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的 ...

  6. 转载:svn clean up 失败解决方法

    转载网址:http://www.tuicool.com/articles/biy6na 今天svn遇到一个头疼的问题,最开始更新的时候失败了,因为有文件被锁住了.按照以往的操作,我对父目录进行clea ...

  7. jquery1.9学习笔记 之选择器(基本元素二)

    类选择器(".class") 描述: 选择所有与给出类匹配的元素 对于类选择器来说,jquery使用的是javascript原生的方法getElementByClassName() ...

  8. web Service试用简例

    1.打开文件,选择新建Asp.Net web服务. 2.出现新建页面如下. using System; using System.Collections.Generic; using System.L ...

  9. Excel表无法正常打开

    Excel表无法正常打开 处理:从菜单栏中的文件中,找到任何一个Excel表正常打开之后,在工具->选项->常规-> 去掉“忽略其他应用程序”,确认,关闭表格再次打开即正常.

  10. android 通过代码设置drawableLeft

    /** * * @desc 设置左边图标 * @param @param drw * @return void */ public void setAlertLeftIcon(Drawable drw ...