当前位置:网站首页>自定义fingerprint特征
自定义fingerprint特征
2022-07-29 14:23:00 【asjhan】
在Android源代码中自定义fingerprint特征,由于AOSP的fingerprint特征会被某些应用检测为不安全的系统环境,所以需要修改fingerprint值模拟正常的环境
一、环境准备
(1) Android系统源码编译环境(Android 9.0)
(2) 开发环境(SubLime Text3)
二、概述
使用getprop命令可知,查询fingerprint相关的属性
> getprop | grep fingerprint
[ro.bootimage.build.fingerprint]: [Android/aosp_blueline/blueline:9/PQ3A.190705.003/5600800:userdebug/test-keys]
[ro.build.fingerprint]: [Android/aosp_blueline/blueline:9/PQ3A.190705.003/5600800:userdebug/test-keys]
[ro.product.build.fingerprint]: [Android/aosp_blueline/blueline:9/PQ3A.190705.003/5600800:userdebug/test-keys]
[ro.vendor.build.fingerprint]: [Android/aosp_blueline/blueline:9/PQ3A.190705.003/5600800:userdebug/test-keys]
发现存在以下fingerprint相关属性1. ro.bootimage.build.fingerprint2. ro.build.fingerprint3. ro.product.build.fingerprint4. ro.vendor.build.fingerprint
三、修改fingerprint特征
对AOSP源代码进行搜索,发现在aosp/build/make/core/Makefile文件中存在fingerprint相关值。ro.bootimage.build.fingerprint
ro.vendor.build.fingerprint
ro.product.build.fingerprint
在build/make/tools/buildinfo.sh中发现ro.build.fingerprint的赋值
经分析fingerprint的赋值过程可知,BUILD_FINGERPRINT的赋值影响着fingerprint的值,所以只要修改BUILD_FINGERPRINT的值就行了。BUILD_FINGERPRINT的值有几个部分组成,修改自己感兴趣的部分就行了
修改BUILD_VERSION_TAGS
修改TARGET_BUILD_VARIANT -> 在编译源码时,lunch期间确定
修改BF_BUILD_NUMBER
修改BUILD_ID
PRODUCT_BRAND 、TARGET_PRODUCT、TARGET_DEVICE -> 在编译源码时,lunch期间确定,看具体编译哪个版本的系统,来决定修改什么样的[产品].mk文件
四、编译
srouce build/envsetup.sh
lunch 23 // 看具体需要编译的产品进行选择
make -j16
五、结果
使用grep命令查看fingerprint相关特征,发现ro.vendor.build.fingerprint的值并没有修改
> getprop | grep fingerprint
[ro.bootimage.build.fingerprint]: [Google/blueline/blueline:9/miui.220705.002/jhan07162220:user/release-keys]
[ro.build.fingerprint]: [Google/blueline/blueline:9/jhan.220705.002/jhan07162220:user/release-keys]
[ro.product.build.fingerprint]: [Google/blueline/blueline:9/jhan.220705.002/jhan07162220:user/release-keys]
[ro.vendor.build.fingerprint]: [Android/aosp_blueline/blueline:9/PQ3A.190705.003/5600800:userdebug/test-keys]
ro.vendor.build.fingerprint的值没有修改是因为vendor.img镜像不是我们生成的,所以对ro.vendor.build.fingerprint值的修改才没有生效。
关于设备驱动文件的下载和使用可以看以往的文章
六、编译vendor.img
后续文章更新…
asjhan for Android reverse
边栏推荐
猜你喜欢
随机推荐
上线前配置
【JS高级】js之闭包对象_04
马尔可夫跳变线性系统最优控制的研究现状与进展
Zhaoqi Technology creates a platform for overseas high-level talent introduction, corporate project docking, and event roadshows
EA&UML日拱一卒-活动图::StartClassifierBehavior和StartObjectBehavior
web会话管理与xss攻击
进程间通信 --- system V三种通信方式(图文案例讲解)
plsql连接oracle使用完毕之后关闭问题
交叉编译工具链的安装和配置过程
为什么字符串使用final关键字
Work Efficiency - Fifteen minutes allows you to quickly learn Markdown syntax to proficient in typesetting practice notes
光鲜亮丽的业绩,也掩盖不了科大讯飞的“一身病痛”
图斑自上而下,自左而右顺序编码,按照权属单位代码分组,每组从1开始编码
A review of deep learning for beginners!
mysql datetime格式化日期(mysql start with)
暴力递归到动态规划 02 (绝顶聪明的人的纸牌游戏)
The reason for Apple's official price reduction has been found, and it is also facing declining sales and even inventory problems
Redis-NoSql
软件测试架构师的工作日常
MySQL 是如何实现 ACID 的?








