首页 > 编程知识 正文

修改手机序列号(修改Android序列号(Serial Number))

时间:2023-05-06 16:37:17 阅读:121707 作者:450

本手册以SC806-cn-00-71(MSM8909平台Android7系统)为例,对Android Serial Number的变更方法进行说明。

串行编号说明菜单About phone - Status - Serial Number显示如下图所示。 (图为中文系统,请查看“序列号”。)。

SC806-CN-00-71的默认序列号为12345678

Adb devices显示的设备编号也是12345678

在UI界面中显示的序列号和在ADB设备中显示的设备号之间存在差异,这将在后面进行说明。

代码分析串行编号与android系统的环境变量ro.serialno相对应。

查看lk的启动部分代码bootable/boot loader/lk/app/aboot/aboot.c

下图定义了用于生成cmdline的sn_buf数组。 ro.serialno的值通过分析cmdline得到。

SC806-CN-00-71修改了本机android代码,将ro.serialno写为“12345678”,未通过target_serialno )函数获取。

查看了下图,注释掉了target_serialno调用。

要变更序列号,只要变更sn_buf数组的初始值即可。

这里试着改成' 77777777 '。

编译并写入aboot,串行编号为' 77777777 ',如下图所示

也可以在cat /proc/cmdline中查看androidboot.serialno的值。

即使现在在adb devices上看,也仍然是' 12345678 '

如果要更改adb devices设备编号,请更改device/qcom/common/rootdir/etc/init.qcom.USB.RC,然后写为' 12345678 '

编译并写入引导。

遗留问题应从代码中分析,修改system/core/init/init.cpp也应该可以修改ro.serialno的值。

在for循环之后添加了

strlcpy(tmp,' 77777777 ',sizeof ) ) 777777 ); property _ set (prop _ map [ I ].dst _ prop,tmp ); 然后编译并写入boot。 但是串行调试日志显示以下消息。

property_set(「ro.serialno”、“99999999”) failed

代入ro.serialno失败。

您没有详细检查property_set ()函数。

代码路径和patch引导加载器/lk/app/aboot/aboot.c

evice/qcom/common/rootdir/etc/init.qcom.USB.RC

接下来是两个补丁。

3359 uploader.shimo.im/f/xxabxqbtb 9e yr6va.patch? attname=aboot.patchdownload

3359 uploader.shimo.im/f/F6 DCM 5z ed 3q y3 CIA.patch? attname=init.qcom.USB.RC.patch download

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。