news 2026/4/28 0:41:29

根据apk包名动态修改Android品牌与型号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
根据apk包名动态修改Android品牌与型号

我们在做国外gms项目的过程中,经常会涉及到套MADA信息的情况,但是在套MADA信息后后出现一个问题,三方检测app中检测到的品牌等信息会跟套的一致,这就会导致我们的软件被测试打回,当然修改TextView是种方法,但是不通用,而且会有漏修改的情况 ,那么有没有一种方法实现动态修改品牌信息呢,有的,以下就是博主最近刚发现的,不是自创,纯借花献佛。

修改patch如下:

diff--git a/sys/frameworks/base/core/java/android/app/ContextImpl.java b/sys/frameworks/base/core/java/android/app/ContextImpl.java index 2ba42ecc1b2..e5ecc1cca8e100644---a/sys/frameworks/base/core/java/android/app/ContextImpl.java+++b/sys/frameworks/base/core/java/android/app/ContextImpl.java @@-113,6+113,8@@ import java.io.IOException;import java.io.InputStream;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;+import java.lang.reflect.Field;+import java.lang.reflect.Modifier;import java.nio.ByteOrder;import java.nio.file.Path;import java.util.ArrayList;@@-3479,6+3481,19@@classContextImplextendsContext{opPackageName=mBasePackageName;}}+//add by lyw+//解决微信平板手机不能同时在线问题+if("com.tencent.mm".equals(mBasePackageName)){+modifySystemPropertyField("BRAND","inspur");+modifySystemPropertyField("MODEL","PD5012");+}elseif("com.finalwire.aida64".equals(mBasePackageName)){+modifySystemPropertyField("BRAND","VIVO");+modifySystemPropertyField("MODEL","S17 Pro");+}elseif("flar2.devcheck".equals(mBasePackageName)){+modifySystemPropertyField("BRAND","HUAWEI");+modifySystemPropertyField("MODEL","P30 Pro");+}+//add endmOpPackageName=overrideOpPackageName!=null?overrideOpPackageName:opPackageName;mParams=Objects.requireNonNull(params);@@-3487,6+3502,50@@classContextImplextendsContext{mContentResolver=newApplicationContentResolver(this,mainThread);}+/** + * add by lyw + * + * @param fieldName + * @param newValue + * @return + */+privatebooleanmodifySystemPropertyField(StringfieldName,ObjectnewValue){+try{+Class<?>systemPropertiesClass=android.os.Build.class;+Fieldfield=systemPropertiesClass.getDeclaredField(fieldName);+field.setAccessible(true);+removeFinalModifier(field);+field.set(null,newValue);+ObjectactualValue=field.get(null);+returnnewValue.equals(actualValue);+}catch(Exceptione){+Log.e("Modifier","Failed to modify field",e);+returnfalse;+}+}++/** + * add by lyw + * + * @param field + * @throws Exception + */+privatevoidremoveFinalModifier(Fieldfield)throwsException{+try{+FieldmodifiersField=Field.class.getDeclaredField("modifiers");+modifiersField.setAccessible(true);+modifiersField.setInt(field,field.getModifiers()&~Modifier.FINAL);+}catch(NoSuchFieldExceptione){+try{+FieldaccessFlagsField=Field.class.getDeclaredField("accessFlags");+accessFlagsField.setAccessible(true);+accessFlagsField.setInt(field,field.getModifiers()&~Modifier.FINAL);+}catch(NoSuchFieldExceptionex){+thrownewRuntimeException("Unable to remove final modifier",ex);+}+}+}+private@NonNullAttributionSourcecreateAttributionSource(@NullableStringattributionTag,@NullableAttributionSourcenextAttributionSource,@NullableSet<String>renouncedPermissions){

实现的效果:
因为博主当前项目是接手的同事的代码,系统中已经被同事修改禁止安装AIDA64了,所以无法验证AIDA64,下面附上几款常见检测app验证结果。

DevCheck验证结果:

安兔兔验证结果:

DeviceInfoHW验证结果:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 22:01:47

Anaconda配置自动激活特定PyTorch环境

Anaconda配置自动激活特定PyTorch环境 在深度学习项目开发中&#xff0c;一个常见的痛点是&#xff1a;每次打开终端或连接远程服务器时&#xff0c;总要重复执行 conda activate myenv&#xff0c;稍有不慎就在错误的环境中运行代码&#xff0c;导致“明明昨天还能跑&#xf…

作者头像 李华
网站建设 2026/4/23 13:57:23

PyTorch梯度裁剪Gradient Clipping防止爆炸

PyTorch梯度裁剪&#xff1a;防止训练崩溃的实用策略 在深度学习的实际训练中&#xff0c;模型“突然炸了”——损失值飙升到无穷大、参数变成 NaN、训练彻底失控——这种经历相信不少人都遇到过。尤其当你花了几个小时加载数据、配置环境、启动训练后&#xff0c;却发现第10个…

作者头像 李华
网站建设 2026/4/27 6:02:54

使用PyTorch进行分子属性预测图神经网络GNN

使用PyTorch进行分子属性预测图神经网络GNN 在药物研发实验室里&#xff0c;研究人员正面对成千上万种未标记的化合物——如何快速识别哪些分子更可能具备理想的药理特性&#xff1f;传统方法依赖专家经验与高通量筛选&#xff0c;成本高昂且周期漫长。而如今&#xff0c;借助图…

作者头像 李华
网站建设 2026/4/25 11:29:50

PyTorch-CUDA环境CUDA Out of Memory解决方案

PyTorch-CUDA 环境显存不足问题深度解析与优化实践 在训练一个大型视觉 Transformer 模型时&#xff0c;你是否曾遇到这样的场景&#xff1a;明明 nvidia-smi 显示还有 10GB 显存可用&#xff0c;但程序却突然报出 CUDA out of memory 错误&#xff1f;或者刚启动训练就崩溃&am…

作者头像 李华
网站建设 2026/4/23 20:31:28

15 种高级 RAG 技术大比拼,值得收藏!

检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;简称RAG&#xff09;的效果在很大程度上取决于我们对数据的分块方式。若想让大语言模型&#xff08;LLM&#xff09;检索到真正有意义的上下文&#xff0c;就必须精心设计数据分块策略。 以下是15种核心的分…

作者头像 李华
网站建设 2026/4/24 21:41:35

LLaMA-Factory双系统部署全指南:CUDA安装、避坑排错与WebUI启动

LLaMA-Factory双系统部署全指南&#xff1a;CUDA安装、避坑排错与WebUI启动 LLaMA-Factory作为轻量化大模型训练与部署工具&#xff0c;环境配置环节&#xff08;CUDA安装、依赖适配等&#xff09;易踩坑。本文覆盖Linux/Windows双系统CUDA安装、LLaMA-Factory部署与校验、高级…

作者头像 李华