如何读取MTK 平台IMEI , BT 和WIFI 地址

MTK 平台IMEI , BT 和WIFI 地址是保存在哪里的呢?NV还是分区里面? 如何确认手机是否有写BT,WIFI地址。

根据对MTK 代码 的分析,IMEI ,BT,WIFI 地址写在 partition_name: proinfo;

那我们又通过什么方法来读取这个分区呢?答案是用MTK的下载工具Flash tool;

首先要找到分区, 打开文件MT6739_Android_scatter.txt

- partition_index: SYS14
  partition_name: proinfo
  file_name: NONE
  is_download: false
  type: NORMAL_ROM
  linear_start_addr: 0x9200000
  physical_start_addr: 0x9200000
  partition_size: 0x300000
  region: EMMC_USER
  storage: HW_STORAGE_EMMC
  boundary_check: true
  is_reserved: false
  operation_type: PROTECTED
  is_upgradable: false
  empty_boot_needed: false
  reserve: 0x00

打开 Flash_tool -> Readback -> Add  -> 双击选择分区保存位置 -》输入上面 

 linear_start_addr: 0x9200000   
 partition_size: 0x300000

如何读取MTK 平台IMEI , BT 和WIFI 地址_第1张图片

如何读取MTK 平台IMEI , BT 和WIFI 地址_第2张图片


点击OK -> Read Back  ,插入手机,直到进度条结束

桌面保存的文件 用UltraEdit 打开 ,切换到16进制显示

如何读取MTK 平台IMEI , BT 和WIFI 地址_第3张图片

重点的重点就在 这里   barcode:64 + imei:40 + bt:6 + wifi:6

从0开始64位为barcode 的值,转换成16进制就是40,这一部分是空间是留给barcode的,这里全是00 表示没有写barcode

如何读取MTK 平台IMEI , BT 和WIFI 地址_第4张图片

接下来40长度是给IMEI的,也就是最多可以写4个IMEI,每个IMEI的长度是15位,第16位用F初中,剩下的用00补齐,所以从这里可以看出我们有两个IMEI,且IMEI为:911508052226461,写了两个相同的IMEI. 

从demo来看,后面BT,WIFI,都是0000,表示没有写BT,WIFI 地址,但我们还是要继续分析从哪一们开始是BT;  60+40= 104 = 0x68

BT地址应该是下面这个红框内,因为BT 和 WIFI  长度都是 12位  

如何读取MTK 平台IMEI , BT 和WIFI 地址_第5张图片

从我们这个导出的分区可以看出我们手机是没有写BT,WIFI地址的,在设置里面看到的地址都是MTK临时生成的,每次开机都会变化。

在来一张写了BT,WIFI 地址的,

如何读取MTK 平台IMEI , BT 和WIFI 地址_第6张图片

请问一下写的BT,WIFI地址是什么,可以自己看一下

 
 

你可能感兴趣的:(android)