由于使用的是联通某物联卡,为了换设备在探索如何修改新设备的 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 数据修改之后没有效果,是因为存在数据检验吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.