当前位置:网站首页>自定义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.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
边栏推荐
- Based on domestic, link global | schneider electric "industrial SI alliance partners hand in hand" to the industry in the future
- 威纶通触摸屏制作自定义欢迎界面的几种方法介绍
- 函数柯里化
- 【C语言】AI三子棋的成长之路
- 基于C语言仿真实现的粒子火焰系统
- AI全流程开发难题破解之钥
- 深陷盈利困境,“寒冬”中也要二次递表,北森上市迫切
- Nine kinds of way, teach you to read the resources files in the directory path
- 面试官:大量请求 Redis 不存在的数据,从而影响数据库,该如何解决?
- 电视处理器a53和a55哪个厉害(cortexa55处理器好吗)
猜你喜欢
随机推荐
rosbag data plotting MATLAB
面试官:大量请求 Redis 不存在的数据,从而影响数据库,该如何解决?
正则、grep/egrep、sed、awk
如何返回一个数字的所有质因数?
AQS源码阅读与强软弱虚4种引用以及ThreadLocal原理与源码
广州市应急管理局发布夏季危化品十大安全风险
马尔可夫跳变线性系统最优控制的研究现状与进展
暴力递归到动态规划 02 (绝顶聪明的人的纸牌游戏)
这 6 款在线 PDF 转换工具,得试
【JS高级】js之闭包对象_04
Nine kinds of way, teach you to read the resources files in the directory path
唯物辩证法-矛盾论(普遍性+特殊性+斗争性+同一性)
无线传感器网络定位综述
AVH部署实践 (一) | 在Arm虚拟硬件上部署飞桨模型
A review of deep learning for beginners!
AI全流程开发难题破解之钥
593. 有效的正方形 : 简单几何运用题
疫情之下的裁员浪潮,7点建议帮你斩获心仪offer
全面质量管理理论
web会话管理与xss攻击