自定义fingerprint特征

Android源代码中自定义fingerprint特征,由于AOSPfingerprint特征会被某些应用检测为不安全的系统环境,所以需要修改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.fingerprint
2. ro.build.fingerprint
3. ro.product.build.fingerprint
4. 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

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值