FDE之默认密码开机流程

在Android M版本里,如果没有修改过锁屏密码,那android 系统就会用默认密码加密,默认密码加密之后的开机流程如下。

1,/system/core/init/builtins.cpp的do_mount_all接口,mount data会返回FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED。

447    } else if (ret == FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED) {
448        property_set("ro.crypto.state", "encrypted");
449        property_set("ro.crypto.type", "block");
450        property_set("vold.decrypt", "trigger_default_encryption");

2,Mount /data的返回值值FS_MGR_MNTALL_DEV_NEEDS_ENCRYPTION

445    if(ret == FS_MGR_MNTALL_DEV_NEEDS_ENCRYPTION) {

446       property_set("vold.decrypt", "trigger_encryption");

3,defaultcrypto被触发,这个在rc文件中配置

499on property:vold.decrypt=trigger_default_encryption
500    start defaultcrypto

 

663service defaultcrypto /system/bin/vdc --wait cryptfs mountdefaultencrypted

664    disabled

665    oneshot

666    # vold will setvold.decrypt to trigger_restart_framework (default

667    # encryption)or trigger_restart_min_framework (other encryption) 

         4,mountdefaultencrypted会去调用cryptfs_mount_default_encrypted

        1),获取password type

        2),默认密码执行cryptfs_restart_internal

3641        } else if (cryptfs_check_passwd(DEFAULT_PASSWORD) == 0) {
3642            SLOGD("Password is default - restarting filesystem");
3643            cryptfs_restart_internal(0);

5,cryptfs_restart_internal(0)去mount data




        ----------------------------------------------------------------------------------------------------------------------------------------------------------------

尽请关注手机安全之家,了解更多Android Security知识。

关注方法:打开手机微信->通讯录->右上角"添加"->"搜号码"->输入"手机安全之家"->搜索。

或者而通过扫描下方二维码也可以添加。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值