首页 » 人工智能 » 修改Android序列号(Serial Number)

修改Android序列号(Serial Number)

深圳海外装饰工程通讯 2025-01-26 0

扫一扫用手机浏览

文章目录 [+]

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

通过Adb devices显示出来的设备号也是: 12345678

修改Android序列号(Serial  Number) 修改Android序列号(Serial  Number) 人工智能

UI界面显示的序列号和Adb Devices显示的设备号,两者是有差异的,下面会讲到。

修改Android序列号(Serial  Number) 修改Android序列号(Serial  Number) 人工智能
(图片来自网络侵删)
代码剖析

Serial Number对应android系统的环境变量 ro.serialno。

查看lk的开机部分代码 bootable/bootloader/lk/app/aboot/aboot.c

下图定义了sn_buf数组,该数组是为了天生cmdline。
ro.serialno的值便是通过解析cmdline得到的。

SC806-CN-00-71修正了原生的android代码,把ro.serialno写去世为\"大众12345678\公众,并没有通过target_serialno()函数去获取。

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

如果要变动序列号,修正sn_buf数组的初始值即可。

我们这里把它改成\"大众77777777\"大众试试。

编译 aboot,烧录,显示如下图所示,Serial Number已经变成了\公众77777777\"大众

也可以通过cat /proc/cmdline,查看androidboot.serialno的值。

现在通过adb devices查看,还是\公众12345678\"大众

如果要修正adb devices设备号,修正device/qcom/common/rootdir/etc/init.qcom.usb.rc,不要写去世为\"大众12345678\"大众,改成从ro.serialno获取。

编译boot,烧录。

遗留问题

从代码上剖析,修正 system/core/init/init.cpp该当也可以改掉ro.serialno的值。

在for循环之后,添加了

strlcpy(tmp, \公众77777777\"大众, sizeof(\公众77777777\"大众));property_set(prop_map[i].dst_prop, tmp);

修正之后编译boot,烧录。
但是串口调试log会提示:

property_set(\"大众ro.serialno\"大众, \"大众99999999\"大众) failed

给ro.serialno赋值失落败。

没仔细研究property_set()函数。

代码路径和patch

bootable/bootloader/lk/app/aboot/aboot.c

device/qcom/common/rootdir/etc/init.qcom.usb.rc

两个patch文件:

https://uploader.shimo.im/f/xXaBxqBTb9EyR6va.patch?attname=aboot.patch&download

https://uploader.shimo.im/f/f6dcm5ZeD3QY3cia.patch?attname=init.qcom.usb.rc.patch&download

相关文章

汕头市点胶机价格、发卖点及品牌概述

对付消费者而言,当购买点胶机时须要考虑多方面的成分,包括机器的事情事理、功能性能、生产效率、配套设备、售后做事等等,但价格无疑是主...

人工智能 2025-01-26 阅读0 评论0