展开

关键词

Android加密之全盘加密详解

前言 Android 的安全性问题一直备受关注,Google 在 Android 系统的安全方面也是一直没有停止过更新,努力做到更加安全的手机移动操作系统。 (Android 4.4 引入)和文件级加密(Android 7.0 引入),本文将论述加密中的全盘加密的基本知识。 全盘加密在 Android 4.4 中引入,在 Android 5.0 中做了比较大的更新。 ? 本文部分片段摘自 Android 官网,融合笔者的个人理解和知识。 检测设有密码的已加密设备 会发现 Android 设备已加密,因为设置了 ro.crypto.state = “encrypted” 标记 由于 /data 是使用密码加密的,因此 vold 会将 vold.decrypt Android 全盘加密分析到此为止。 以上这篇Android加密之全盘加密详解就是小编分享给大家的全部内容了,希望能给大家一个参考。

96540

Android热插拔事件处理详解

一、Android热插拔事件处理流程图 Android热插拔事件处理流程如下图所示: ? 二、组成 1. NetlinkManager:        全称是NetlinkManager.cpp位于Android 4.x 源码位置/system/vold/NetlinkManager.cpp。 VolumeManager:       全称是VolumeManager.cpp位于Android 4.x源码位置/system/vold/VolumeManager.cpp。 自Android 2.2开始,Vold升级为vold 2.0,配置文件路径在Android 4.0之后变为/etc/vold.fstab。 在Android 系统启动的时候,init进程会去解析init.rc文件,在该文件中,有如下代码: Service vold /system/bin/vold              Socket

1.8K70
  • 广告
    关闭

    腾讯云校园大使火热招募中!

    开学季邀新,赢腾讯内推实习机会

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android系统启动——8 附录2:相关守护进程简介

    609 onrestart restart media 610 onrestart restart surfaceflinger 611 onrestart restart drm 五、vold 负责完成系统USB存储卡等扩展存储自动挂载的守护进程 代码在init.rc 613行 613service vold /system/bin/vold \ 614 --blkid_context fsck_context=u:r:fsck:s0 --fsck_untrusted_context=u:r:fsck_untrusted:s0 616 class core 617 socket vold stream 0660 root mount 618 socket cryptd stream 0660 root mount 619 ioprio be 2 六、netd Android class core 678 user graphics 679 group graphics audio 680 disabled 681 oneshot 十二、installd: Android

    91320

    带你遨游USB世界

    4)android.c 接收属性节点的值;向framework发送usb状态改变的uevent ? 5)f_mtp.c mtp驱动文件 映射到文件节点/dev/mtp_usb : ? 4.4 MTP传输启动流程代码分析 在"PC和Android设备建立MTP连接"后,UsbManager向MtpReceiver发送广播,接着MtpReceiver会启动MtpService,MtpService vold的NetlinkManager接收到uevent消息后,只处理SUBSYSTEM=block的消息: system\vold\NetlinkHandler.cpp ? 其中vold的process_config函数会根据配置文件配置VM对象: system\vold\main.cpp ? 最后,vold的handlePartitionAdded函数识别并mount设备的所有分区: system\vold\DirectVolume.cpp ?

    68521

    详谈android 6.0 fuse文件系统的挂载和卸载问题

    android4.4 的时候vold,也是利用fuse文件系统达到,将sd卡的目录(storage目录)获取sd实际挂载目录(mnt/media_rw)的权限。 但是android4.4的时候vold只是写属性而已,然后init监测这个属性,属性改变时,才会去启动sdcard进程。 然后android6.0直接在vold中,fork一个进程直接开启sdcard进程挂载fuse文件系统。并且在卸载sd的时候,在vold中卸载fuse文件系统。 一、挂载sd卡 下面是解析android6.0vold,挂载sd卡是的一段代码,我们来看下。显示挂载sd卡,然后进行fuse操作。 以上这篇详谈android 6.0 fuse文件系统的挂载和卸载问题就是小编分享给大家的全部内容了,希望能给大家一个参考。

    63520

    Android 8.0 dexopt执行时机

    dexopt编译类型 在Android 8.0中 , 一共有5中编译时机 (或者说原因) , 而dexopt会根据这几个场景进行不同的编译过程 , 而对应的过程所使用的编译方法则是通过在SystemProperty pm.dexopt 其中在updatePackagesIfNeeded会判断Android N版本的启动 , 确定是否需要弹窗. char vold_decrypt[kPropertyValueMax]; bool have_vold_decrypt = get_property("vold.decrypt", vold_decrypt , "") > 0; bool skip_compilation = (have_vold_decrypt && (strcmp(vold_decrypt , "trigger_restart_min_framework") == 0 || (strcmp(vold_decrypt, "1") ==

    66010

    Android系统启动——3init.rc解析

    chown radio system /sys/android_power/state chown radio system /sys/android_power/request_state chown radio system /sys/android_power/acquire_full_wake_lock chown radio system /sys/android_power on property:vold.decrypt=trigger_restart_min_framework class_start main on property:vold.decrypt //启动vold ... on boot ... 流程图如下: image.png 上一篇文章 Android系统启动——2 init进程 下一篇文章 Android系统启动——4 zyogte进程 (C篇) 官人[飞吻],你都把臣妾从头看到尾了

    1.3K20

    安卓系统能读ntfs文件吗(Android Pie)

    Android P支持NTFS读取 Kernel Config配置 CONFIG_NTFS_FS CONFIG_NTFS_RW(只能针对已存在文件进行写操作) CONFIG_NLS CONFIG_NLS_UTF8 (用于支持中文格式) vold修改文件: fs文件夹追加Ntfs.cpp和Ntfs.h,可以以Exfat.cpp为模板。

    9410

    android之StorageManager介绍

    image.png StorageManager 在Android系统中,常用的存储介质是Nand Flash;系统的二进制镜像、 Android的文件系统等通常都保存在Nand Flash 中。 通常使用的Micro-SD卡的管理则是由卷守护进程(Volume Daemon ,vold)去完成的,包括SD卡的插拔事件检测、挂载、卸载、格式化等。 从Android 2.3开始新增了一个OBB文件系统和StorageManager类用来管理外部存储上的数据安全。 android.os.storage.StorageManager类的实例化方法需要使用 getSystemService(Contxt.STORAGE_SERVICE)才可以。 我们 可以通过这个服务获取Android设备上的所有存储设备。

    64810

    android之SELinux小记

    SELinux for Android SELinux for Android在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到Android上的只是SELinux的一个子集。 SELinux for Android的安全检查几乎覆盖了所有重要的系统资源,包括域转换,类型转换,进程、内核、文件、目录、设备,App,网络及IPC相关的操作。 Android分为宽容模式(仅记录但不强制执行 SELinux 安全政策 )和强制模式(强制执行并记录安全政策。如果失败,则显示为 EPERM 错误。 );在选择强制执行级别时只能二择其一。 system/bin/lmkd u:r:servicemanager:s0 system 262 1 /system/bin/servicemanager u:r:vold :s0 root 263 1 /system/bin/vold 其中: 语法 含义 u user:SEAndroid中定义了一个SELinux

    57410

    Android外部存储

    4.1 ● 开发者选项出现”强制应用声明读权限才可以进行读操作”的开关 3、Android 4.2 ● 支持多用户,每个用户拥有独立的外部存储 4、Android 4.4 ● 读操作需要声明READ_EXTERNAL_STORAGE 支持版本 ● Android 4.2开始支持多用户,但仅限平板; ● Android 5.0开始,设备制造商可以在编译时候开启多用户模块; b. 动态权限管理 a.背景 Android 6.0引入了运行时权限,允许用户对危险权限进行动态授权,这部分权限包含外部存储访问权限。 [17.png] 当应用被授予读/写权限时,vold子进程会切换到应用的挂载命名空间,将对应的视图重新绑定到应用的外部存储路径上。 [21.png] ● 进程在运行时,当外部存储的访问许可发生改变(用户授权)时,基本流程如下(/xref/system/vold/VolumeManager.cpp): 1)获取init的挂载命名空间,

    85460

    Android外部存储

    )、PTP协议(Picture Transfer Protocol) 2、Android 4.1 ● 开发者选项出现”强制应用声明读权限才可以进行读操作”的开关 3、Android 4.2 ● 支持多用户 5、Android 6.0 ● 外部存储支持动态权限管理 ● Adoptable Storage特性 6、Android 7.0 ● 引入作用域目录访问 ? 支持版本 ● Android 4.2开始支持多用户,但仅限平板; ● Android 5.0开始,设备制造商可以在编译时候开启多用户模块; b. 当应用被授予读/写权限时,vold子进程会切换到应用的挂载命名空间,将对应的视图重新绑定到应用的外部存储路径上。 ● 进程在运行时,当外部存储的访问许可发生改变(用户授权)时,基本流程如下(/xref/system/vold/VolumeManager.cpp): 1)获取init的挂载命名空间,为了对之后进程的挂载命

    25130

    安卓ELF恶意软件深度分析

    ELF病毒背景 1.Android病毒发展趋势 自 2010 年开始,全球进入了移动互联网时代,作为主流移动操作系统Android也得到了迅猛发展。 Android病毒也从简单到复杂,从单纯的dex病毒转向为elf病毒(其中elf是Linux下的可执行程序)。 病毒不止利用debuggerd服务,有的病毒会利用/system/bin/vold服务,如地狱火,一样的手段,一样的效果。 (vold服务:Volume Daemon存储类的守护进程,作为Android的一个本地服务,负责处理诸如SD、USB等存储类设备的插拔等事件。) 能ROOT大量Android 5.1及其以下的系统。

    904100

    S006SELinux(SEAndroid)是个什么呀

    本节的问题 SELinux 是什么 在android系统中的历史 特点 SELinux 是什么 SEAndroid 是一套安全机制,实现的主要目的是为了是Android系统更安全。 SEAndroid 是将SELinux 移植到Android 上的产物,可以看成SELinux 辅以一套适用于Android 的策略。 而NSA江湖名声不咋地,有不老实和不厚道的前科 所以咋android系统中名词 SEAndroid 和SElinux在android中可以基本等价。 从Android 5.0(L)开始 android从宽松的4.3版本和部分的enforcement 4.4版本变为完整的enforcement模式。 简短的说就从从前仅对几个关键的域(installed,netd,vold,zygote)进行保护到对所有的域(多于60个)。

    55350

    最小生成树算法实现与分析:Prim 算法,Kruskal 算法;

    Prim算法:此算法可以称为加点法,使用贪心思想进行求解,Vnew Vold-new 之间,代价最小的边对应的点,加入到Vnew之中;算法从任意一节点开始,知道Vnew中包含所有的点; 图中所有顶点集合 V, 初始结合Vnew = {s}, Vold-new = V-Vnew; 在两个集合Vnew和Vold-new 组成的边中,选择代价最小的边(vnew, vold-new),加入到生成树;并把vold-new

    53320

    只需一个命令,快速定位android的启动耗时

    回顾: Android 启动过程框架 这节我们讲一个命令,用来定位android启动过程耗时,具体为: 进入shell,cat /proc/bootprof 即可看到一堆类似如下的输出: ? 比如 ccci_md3 vold ,这里也会将每个进程的创建开始和结束打印出来。 然后我们进入zygote进程的创建,看到加载预处理的jar so,可以看到这些耗时。 ?

    58360

    Android外部存储》

    Android 6.0 外部存储支持动态权限管理 Adoptable Storage特性 Android 7.0 引入作用域目录访问 ? 支持版本 Android 4.2开始支持多用户,但仅限平板; Android 5.0开始,设备制造商可以在编译时候开启多用户模块; b. When the app is granted permissions dynamically at runtime, the system asks vold to jump into the existing 当应用被授予读/写权限时,vold子进程会切换到应用的挂载命名空间,将对应的视图重新绑定到应用的外部存储路径上。 , strerror(errno)); return false; } 进程在运行时,当外部存储的访问许可发生改变(用户授权)时,基本流程如下(/xref/system/vold

    1.3K50

    Android SELinux avc dennied权限问题解决方法

    概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 proc/kmsg | grep avc 或 dmesg | grep avc 例如: audit(0.0:67): avc: denied { write } for path="/dev/block/vold 解决权限问题需要修改的权限文件如下位置,以.te结尾 A:Android/devicesoftwinner/astar-common/sepolicy/*.te B:Android/external/ 如果不需要深入了解,请直接跳到万能公式这一章阅读更简洁) 下面给出四个案例: 案例1 audit(0.0:67): avc: denied { write } for path="/dev/block/vold TIPS 1、 以上以.te为后缀的文件都在以下位置: A:Android/devicesoftwinner/astar-common/sepolicy/*.te B:Android/external

    3.8K20

    Oracle数据库诊断案例-redo log日志组处于高激活状态

    0.0 5.4 0 26 c1t1d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 9.1 0 0 hurraysms02:vold 0.0 20.5 0 100 c1t1d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold 0.0 19.5 0 99 c1t1d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold 0.0 17.7 0 99 c1t1d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold 0.0 14.8 0 100 c1t1d0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 hurraysms02:vold

    29710

    理解对C++裸指针释放后重用的问题

    本文将以Android 2.2-2.3上的一个zergRush漏洞为例,分析指针释放后重用的问题。 zergRush是Android 2.2-2.3上的一个漏洞,主要问题就在于指针的释放后重用。 具体地,是vold后台程序调用了libsysutils.so,bug出在FrameworkListener.cpp的dispatchCommand方法。 因为是动态分配的,这块内存在堆上,实际使用Android系统中Bionic lib库内置的dlmalloc分配器来动态分配的。 goto overflow; ---- 参考 zergRush (CVE-2011-3874) 提权漏洞分析 从zergRush深入理解Use After Free 《Android

    73290

    相关产品

    • 直播 SDK

      直播 SDK

      直播 SDK 是腾讯云直播服务在移动场景的延伸,集成了腾讯云直播的推 / 拉流、主播观众互动连麦、主播跨房 PK 等能力,提供包括 iOS、Android、小程序、Web 等多种接入方式,为您提供针对移动场景的高质量直播服务,快速满足手机直播的需求。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券