自定义fingerprint特征
在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.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
自定义fingerprint特征相关推荐
- 卷积神经网络特征图可视化(自定义网络和VGG网络)
借助Keras和Opencv实现的神经网络中间层特征图的可视化功能,方便我们研究CNN这个黑盒子里到发生了什么. 自定义网络特征可视化 代码: # coding: utf-8from keras.mo ...
- gbdt 回归 特征重要性 排序_gbdt、xgb、lgb、cat面经整理——from牛客
注意,下文的原始的gbdt是以sklearn中的gbdt的实现为例子来阐述的,因为gbdt的改进版本有很多,为了叙述方便,使用这个最为人所知的实现来描述. 你有自己用过别的模型然后调参之类的吗?能说一 ...
- 影像组学特征的生物学意义
影像组学为从影像成像中提取临床相关信息提供了强有力的工具.影像组学可以通过提取高通量特征来预测患者的预后,使用大型训练样本来探究图像特征和疾病状态之间的微妙关系.但是,基于数据驱动的影像组学本质上无法 ...
- LabVIEW目标对象分类识别(理论篇—5)
目录 1.训练过程(创建分类器) 1.1.目标对象数据样本 1.2.目标对象分类器配置 1.3.目标对象分类器训练 1.4.目标对象分类器输出和评估 2.分类与识别 目标对象分类是指将未知样品的形状. ...
- 【安全实战】红队攻防技术
前言 希望能够面向红蓝双方进行讲解,在进行一些攻击方式分析时,同样也会引起防守方对于攻击的思考.红蓝对抗的意义也正是在这种持续的攻击下不断寻找防御的平衡点,故 未知攻,焉知防. 本文仅做安全研究作 ...
- 条件随机场 python_用条件随机场做网络小说命名实体识别
一直想用统计学习方法来改善拨云搜索,这次先在命名实体上小小尝试一下. 线性链条件随机场 对于无向图中的节点,定义一组特征函数,使其状态仅受邻近节点和观测序列的影响. 在标注任务中,节点只有前后两个邻近 ...
- 兄dei,Python数据竞赛和5万现金奖励了解一下
" 少年,我看你骨骼精奇,是万中无一的技术奇才,维护世界和平就靠你了,我这有一个拯救世界的机会(还有50000大奖,美滋滋--),见与你有缘就免费告诉你了! " 剧情是这样展开的 ...
- 机器学习实践七----异常检测和推荐系统
Anomaly detection 异常检测是机器学习中比较常见的应用,它主要用于非监督学习问题,从某些角度看, 它又类似于一些监督学习问题. 什么是异常检测?来看几个例子: 例1. 假设是飞机引擎制 ...
- abap开发注释快捷键_让ABAP开发者更加轻松的若干快捷键
引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...
- 从零开始学keras之kaggle猫狗识别分类器
使用很少的数据来训练一个图像分类模型,这是很常见的情况,如果你要从事计算机视觉方面的职业,很可能会在实践中遇到这种情况."很少的"样本可能是几百张图像,也可能是几万张图像.来看一个 ...
最新文章
- wp10 android,WP10能在Android机正常用不?
- 爬虫python需要什么软件-学python爬虫能做什么
- JQuery常用知识点汇总
- 工作55:对v-model的理解
- 前端学习(2241):react打卡倒计时十五天之react出现背景
- 用计算机表白的数字,用数字表白
- vins-mono后端优化
- java设计模式之模板方法
- 面试题:判断链表是否存在环
- Cartographer 安装 2021.10.27
- OpenGL的几何变换[转]
- 计算机硬盘扇区修复,如何修复硬盘启动扇区
- html中标记pre的作用是什么,html中pre和code标签
- 关于微信开发者工具终端窗口不能输入字符问题
- R语言拟合ARIMA模型
- 英伟达显卡老版本驱动下载网址
- Windows7旗舰版SP1_32位2018.10(纯净版)
- PCL-ICP(IterativeClosestPoint)源码解析
- A段架构设计_隽语集(Business Thinking _1201)
- 【论文阅读】DenseCLIP: Language-Guided Dense Prediction with Context-Aware Prompting
热门文章
- composition api在项目中的使用总结
- SLAM学习-论文综述(一)
- linux查看ubuntu版本命令,检查Ubuntu版本号的三种方法:从终端和设置中检查及使用Neofetch...
- 网络计算机无法访问 没有权限,教您无法访问您可能没有权限使用网络资源怎么解决...
- pngimg 可以商用吗_全球6大免费商用素材网!设计师必备!
- 联想Lenovo拯救者 Legion R9000P 2021H 触控板失灵
- javaweb问题集锦: HikariPool-1 - Connection is not available, request timed out after 60001ms.
- win10安装CA证书服务器,分享一下win10系统安装数字证书的方法
- amd支持服务器内存,AMD专用内存为什么只能在AMD平台使用?与普通内存有什么区别?...
- Scrapy 抓取 当当图书2018畅销榜的所有图书