由于使用的是联通某物联卡,为了换设备在探索如何修改新设备的 IMEI (所以这里讨论的并不是系统层面上欺骗其它 app 获取的 IMEI ,用 Xposed 模块什么的是不行了)。目前遇到了一些问题。
手机机型 Motorola Edge S Pro ,ROM 是官方的安卓 12 。
首先的思路是通过 diag 端口,备份 qcn 文件进行修改。(因为这办法在老机器上是奏效的) 但是在手机解锁 BL 并 root 之后,使用
adb shell setprop sys.usb.config diag,adb
并不能打开 diag 端口完成修改操作,猜测是只有官方的工程 ROM 才能正常打开,不知道对不对。尝试了一下其他大佬编译的 LinOS 开启也是一样的结果,所以这个思路到这里断了。
第二个想法是能不能通过直接修改手机部分分区实现目的,于是备份了mdm1m9kefs1 、mdm1m9kefs2 、mdmaddr
以及persist
分区,并使用十六进制编辑器在里面按照修改 qcn 的方式搜索原本的 IMEI 。
搜索的结果是只在persist
分区查找到了。到这里我以为胜利在望,把修改好的persist.img
使用 dd 命令覆盖了上去(我只修改了 IMEI1 ,IMEI2 没有修改,使用 dd 命令而不是 fastboot flash 的原因是后者会有 permission denied 报错),并双清以及清空了基带缓存,重新开机。
然而操作完成之后,不仅手机的 IMEI 完全没有变化,而且手机还没有了信号。SIM 卡是可以读取到的,但是在设置中是禁用的状态,也无法手动启用,到这里我没有任何思路了。(但是起码证明 persist 分区确实成功刷入了)
有几个问题想要问一下大佬们:
mdm1m9kefs1/2
这两个分区好像是基带缓存,分区中是否有保存 IMEI ?如果有,在十六进制编辑器中搜索不到是因为加密了吗?
persist
分区中的 IMEI1 数据修改之后没有效果,是因为存在数据检验吗?
1
424778940 2022-06-23 10:22:09 +08:00
你改的 persist 多半是 /efs 的东西 但不是基带本身的固件 基带对于系统也是个黑盒子的 升级时候要把固件发给基带让他自己升级 所以高通 diag 估计是唯一途径
|
2
black201w OP @424778940 persist 查了一些资料, 说是传感器相关的分区。
我比较费解的是, 在我刷完了 persist 分区后, 重新刷官方包手机系统读取到的 IMEI 依然没有变化, SIM 卡无法启用是因为改了分区我可以理解, 但是手机系统是从哪里读取到了这个原本的正确 IMEI 呢? |
3
KleinP 2022-06-23 13:31:28 +08:00
高通默认存储 imei 的位置是 nv550 ,不是 persiset 分区吧
|
4
black201w OP @KleinP 是这样吗。。我在其他的手机上能通过 mdm1m9kefs3 分区找到 nv550, 这台手机的 mdm1m9kefs3 导出之后没有找到。除了这个分区之外还有可能在哪个分区呢?
|
5
xinJang 2022-06-23 16:47:18 +08:00
不就天际通吗 直接买可以改串的 vn007+就行了 简单
|
6
KleinP 2022-06-24 10:13:09 +08:00
@black201w 这个不知道啊,其实用高通工具基本上可以看到大部分 nv ,写了也是立即生效,要么重启生效。具体要看是哪家代工的,看有什么资料
|
7
black201w OP @xinJang
首先 007+这玩意太大了不好携带;其次有 5G 手机能拿来折腾花钱买成品干嘛,又不是很便宜,说不定哪天就翻车了 |
8
pigll 2022-07-29 13:57:46 +08:00
看到有人有偿帮刷 865 的机器
|