Android
文章平均质量分 78
Build系统(makefile)、images、启动流程、selinux、property、init.rc、system/core应用、adb、fastboot等
代码改变世界ctw
12年手机安全、汽车安全、芯片安全开发经验。擅长Trustzone/TEE/安全的设计与开发。作有《Armv8/Armv9架构从入门到精通》、《Trustzone/TEE/安全快速入门班》、《Secureboot从入门到精通 训练营》等课程。
展开
-
[专栏目录]-Android专栏目录
英文缩写简写全称reservedSPISerial Peripheral interfacereservedAIArtificial Intelligence人工智能NB-IOTNarrow Band-Internet of Thingsreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreservedreserv原创 2020-08-04 15:02:57 · 1233 阅读 · 0 评论 -
Google zerotouch方案介绍
术语:EMM :enterprise mobility management 企业移动管理(EMM)供应商resellers : 设备经销商enterprise customers : 企业客户End users :终端用户device policy controller (DPC) appzero-touch注册流程server方案server的多方案reseller Tools非三星手机,你可以使用:Library、API、zero-touch enrollment port原创 2021-02-01 11:36:57 · 4317 阅读 · 1 评论 -
Device is not certified by Google
含有GMS的版本,手机连上网之后,则不听产生如下警告:Users who purchased this device:The device manufacturer has preloadedGoogle apps and services withoutcertification from Google.Contact themanufacturer and ask for a certified device.Learn more at g.co/AndroidCertifiedDevice原创 2021-01-07 11:55:20 · 2481 阅读 · 0 评论 -
system.img格式打包学习
reserved-2020-1127–5原创 2020-11-27 15:27:57 · 3913 阅读 · 0 评论 -
Android编译32或64位程序
reserved-2020-1127–4原创 2020-11-27 15:27:25 · 3872 阅读 · 0 评论 -
Android init.rc执行顺序
适用于android9极其之前的版本所有的action运行于service之前下面为各个section的执行顺序,英文编号的section是系统内建的(写死在init.c中的命令)early-init a) wait_for_coldboot_done b) property_init c) keychord_int d) console_init e) set_init_propertiesinit early-fsfspost-fs.原创 2020-10-21 09:34:50 · 2218 阅读 · 0 评论 -
详解android gatekeeper/fingerprint中的authToken
文章目录1、authToken是什么?2、authToken的填充3、authToken的保存1、authToken是什么?在密码或指纹验证通过后(verify通过后),需返回一个authToken值,然后交由keystore保持起来. 以下是gatekeeper的verify产生authToken和调用keystore保存authToken的流程图:2、authToken的填充在gatekeeper TA的verify()通过后,对填充authToken结构体,然后再返回。(hardware/l原创 2020-08-06 15:46:25 · 3030 阅读 · 1 评论 -
Android gatekeeper的原理介绍和代码导读
(service)frameworks/base/services/core/java/com/android/server/locksettings/LockSettingsService.java LockSettingsStorage.java PasswordSlotManager.java SyntheticPasswordCrypto.java recoverablekeystoreLockSettingsShellCommand.java LockSettin原创 2020-07-31 13:22:47 · 5033 阅读 · 6 评论 -
android指纹fingerprint学习总结
文章目录android指纹的软件框图android指纹的软件框图录入指纹enroll和验证指纹verify的流程:当手指按到指纹模组上后,指纹模组产生一个中断,在指纹的linux driver中会通过input函数上报该中断给android,然后android会调用指纹hal,然后开始干活…在接下来的流程中,一般是指纹hal先调用linux driver的指纹驱动,去开启电源、clk等操作,然后再调用指纹CA发送命令进入到TA中,在TA中调用teeos的spi driver读取spi数据,然后再T原创 2020-07-12 16:56:09 · 4379 阅读 · 7 评论 -
MTK:oemlock介绍
参考:1、https://source.android.com/security/verifiedboot/boot-flow2、vendor/mediatek/proprietary/bootable/bootloader/lk/platform/common/boot/vboot_state.c引导加载程序通过内核命令选项将启动时验证状态传达给 Android。它会将 androidboot.verifiedstate 选项设置为以下其中一个值:green:如果设备已LOCKED且未使用可由用户原创 2020-06-18 14:13:26 · 3914 阅读 · 0 评论 -
OTA整包的制作流程
我们知道,在android根目录下,敲击make otapackage,out目录下就会生成ota package包,那么makefile是如何工作的呢?当用户敲击make otapackage后,我们看下Makefie的依赖关系:otapackage依赖INTERNAL_OTA_PACKAGE_TARGET目标,INTERNAL_OTA_PACKAGE_TARGET又依赖BUILT_TARGE......原创 2019-07-13 18:09:35 · 2365 阅读 · 1 评论 -
Android makefile编译流程(二)
在build/core/main.mk中找到第一个目标,其makefile树关系如下:然后我们逐一分析这些目标。1、先看files目标其依赖关系树如下:从图中可以看出,files依赖(modulestoinstall)和(modules_to_install)和(modulestoinstall)和(INSTALLED_ANDROID_INFO_TXT_TARGET)。后面在做更.........原创 2019-07-22 13:10:29 · 3861 阅读 · 1 评论 -
剖析boot.img的制作流程
当用户敲击了make bootimage时,我看看是如何工作的在build/core/main.mk中,我们发现bootimage依赖INSTALLED_BOOTIMAGE_TARGET.PHONY: bootimagebootimage: $(INSTALLED_BOOTIMAGE_TARGET)随后转到build/core/Makefile中,我们可以看到INSTALLED_BOOT.........原创 2019-07-13 16:19:36 · 6196 阅读 · 0 评论 -
System.img是如何打包的
当敲击make命令时,会找到第一个目标droid(在build/core/main.mk中),droid依赖droid_targets,droid_targets依赖droidcore和dist_files,droidcore的依赖关系如下:.PHONY: droidcoredroidcore: files \ systemimage \ $(INSTALLED_BOOTIMAGE_TAR.........原创 2019-07-13 15:42:21 · 5959 阅读 · 0 评论 -
Android Makefile编译流程
1、整编译当中android根目录下敲击make时候,根目录下的Makefile就一句话include build/core/main.mk,即调用main.mk,以下为main.mk的依赖规则2、模块编译模块编译依赖各个模块目标。3、recovery.img(1)在TARGET_NO_RECOVERY=false,TARGET_NO_KERNEL=false时候INSTALLE.........原创 2019-01-11 18:47:10 · 4478 阅读 · 1 评论 -
android10.0的init执行顺序
on early-initon initon late-init on early-fs on fs on post-fs on late-fs class_start early_hal on post-fs-data load_persist_props_action zygote-start firmware_mounts_complete on early-boo...原创 2020-03-12 17:50:58 · 3855 阅读 · 0 评论 -
boot.img详解
一、cmdline打包的过程1、INTERNAL_KERNEL_CMDLINE是一串字符串,由BOARD_KERNEL_CMDLINE变量,再拼接buildvariant+$(VERITY_KEYID)而成。其中,BOARD_KERNEL_CMDLINE变量在device/asr/aquilac_phone/BoardConfig中定义vim build/core/MakefileINT......原创 2019-12-04 13:12:11 · 6987 阅读 · 0 评论 -
android文件系统\busybox文件系统的启动介绍
1、android文件系统(rootfs)在uboot中检查启动参数,如果是normal mode,则load boot.img以及boot.img中的ramdisk,如果是recovery mode,则会load recovery.img以及recovery.img中的ramdisk。注意:如果开启了system_as_root功能(在android9.0及其后的版本中要求开启了),原先bo......原创 2019-12-03 14:26:48 · 1846 阅读 · 0 评论