找回密码
 注册
搜索
查看: 3405|回复: 14

[讨论] 如何编写IMEI写码程序?

[复制链接]
发表于 2005-11-15 10:13:00 | 显示全部楼层 |阅读模式
小弟需要编写IMEI写码程序,不知道该如何下手。请问坛子里编写过IMEI写码程序的兄弟,如何实现写码?在ADI平台上需要调用那个函数?请大侠多多指教,多谢!ps:通过串口通信
发表于 2005-11-15 12:57:00 | 显示全部楼层
<P>如果使用VB,要用到串口开闭、设置、读写(mscomm控件)</P><P>对手机的读写,需要有16进制的一串控制命令,对IMEI数值还需要按照一定规则进行处理(和一些规定数值进行Xor计算)。然后把16进制的控制命令和处理过的IMEI数值合并到一起,通过串口发送到手机,这是写的大概过程</P><P>不知道和你的是不是一样</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

 楼主| 发表于 2005-11-15 17:06:00 | 显示全部楼层
<P>谢谢版主[em30]
大体过程我也知道,我最想知道的是ADI平台上使用哪个命令或函数进行操作,还有你说的如何对IMEI数值进行处理?据我所知,ADI平台只需写最后7位数值,前8位是在download是预置好的,那么这7位数值是不是可以直接写入,要不要进行什么处理?还有,写IMEI码对校准数据有没有影响,需不需要将校准数据预先读出来,最后再写进去?</P>
点评回复

使用道具 举报

发表于 2005-11-15 19:20:00 | 显示全部楼层
<P>首先说明IMEI是国际移动设备身份识别码,跟校准是没有关系的!</P><P>后7位数中前6位是SN号,用于记数,最后一位通过算法得出。</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-15 19:21:00 | 显示全部楼层
<P>首先说明IMEI是国际移动设备身份识别码,跟校准是没有关系的!</P><P>后7位数中前6位是SN号,用于记数,最后一位通过算法得出。</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-16 15:35:00 | 显示全部楼层
<P>我不是设计公司的,所以了解不是很多</P>
<P>命令下个星期才能给你,我在外地</P>
<P>后7位需要和规定数值进行XOR计算</P>
<P>IMEI分为4部分:6位是TAC,2位是FAC,6位是SN,1位是Checksum(有规定的算法)</P>

<P align=right><FONT color=red>+3 RD币</FONT></P>
[此贴子已经被作者于2005-11-30 11:17:52编辑过]
点评回复

使用道具 举报

 楼主| 发表于 2005-11-16 18:01:00 | 显示全部楼层
谢谢版主及楼上的兄弟,关于IMEI的构成及Check-digit的算法,我是知道的。现在我想了解的就是使用哪个命令及函数把IMEI码写进手机,以及是否需要进行加密处理。ADI的平台是只写后6位的,而且是放在nvram的校准数据区域。
点评回复

使用道具 举报

发表于 2005-11-17 19:24:00 | 显示全部楼层
<P>下边是我在PTE看资料的时候看到的,不知道对你有没有帮助,不对的话,还请指点,可不要取笑俺</P><P>[em14]:</P><P>IMEI以scrambled格式保存在sector 0校准结构中,通过手机软件来descramble。为了防止IMEI被伪造,要尽可能隐藏scrambling算法。优化的设计是手机板不包含任何IMEI scrambling能力,不允许用户看到scrambled格式的IMEI。PTE支持这种优化的安全措施。手机的IMEI以scrambled格式传到PTE并储存到sector 0。要显示它,不论是通过PTE,tracing或者MMI,都是显示descrambled IMEI。</P><P><TABLE medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 border=1><TR 0; mso-yfti-firstrow: yes"><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 77.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=103><P 0cm 0cm 0pt">SetIMEI<p></p></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 348.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=465><P 0cm 0cm 0pt">设置IMEI,以scrambled格式传给PTE<p></p></P></TD></TR><TR 1; mso-yfti-lastrow: yes"><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 77.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=103><P 0cm 0cm 0pt">ShowIMEI<p></p></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 348.7pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=465><P 0cm 0cm 0pt">显示descrambled格式的IMEI<p></p></P></TD></TR></TABLE></P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-17 19:25:00 | 显示全部楼层
<P 0cm 0cm 0pt">对<FONT face="Times New Roman">sector</FONT>的命名取决于<FONT face="Times New Roman">flash</FONT>芯片的类型。</P><TABLE medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-table-layout-alt: fixed; mso-border-alt: solid windowtext .5pt; mso-yfti-tbllook: 480; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-border-insideh: .5pt solid windowtext; mso-border-insidev: .5pt solid windowtext" cellSpacing=0 cellPadding=0 border=1><TR><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 41.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt" vAlign=top width=55><P 0cm 0cm 0pt"><FONT face="Times New Roman">Sector</FONT></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 54pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=72><P 0cm 0cm 0pt"><FONT face="Times New Roman">Intel flash</FONT></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 63pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt" vAlign=top width=84><P 0cm 0cm 0pt"><FONT face="Times New Roman">AMD flash</FONT></P></TD></TR><TR><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 41.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=55><P 0cm 0cm 0pt"><FONT face="Times New Roman">0</FONT></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 54pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=72><P 0cm 0cm 0pt"><FONT face="Times New Roman">0~8k</FONT></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 63pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=84><P 0cm 0cm 0pt"><FONT face="Times New Roman">8~16k</FONT></P></TD></TR><TR yes"><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: windowtext 1pt solid; WIDTH: 41.4pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=55><P 0cm 0cm 0pt"><FONT face="Times New Roman">1</FONT></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 54pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=72><P 0cm 0cm 0pt"><FONT face="Times New Roman">0~16k</FONT></P></TD><TD windowtext 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #d4d0c8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; WIDTH: 63pt; PADDING-TOP: 0cm; BORDER-BOTTOM: windowtext 1pt solid; BACKGROUND-COLOR: transparent; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt" vAlign=top width=84><P 0cm 0cm 0pt"><FONT face="Times New Roman">16~32k</FONT></P></TD></TR></TABLE>PTE rev 2.9的校准数据保存在8~16k区域,因此对于Intel chip为sector 1,而对于AMD chip则为sector 0[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-21 08:42:00 | 显示全部楼层
楼上的是Agere的命令,不是ADI的
点评回复

使用道具 举报

发表于 2005-11-23 21:51:00 | 显示全部楼层
<P>你要写IMEI,说明你的机有过其他的功能测试,而这种测试都有一个公用的手机消息借口,一般其接口函数打包成".dll"文件,安装到System32下面供调用(可考贝),同样你可以调用这个接口直接进行端口操作,手机命令发送(包括读写指令),这样你就不必花太多的心思在接口操作上,从而做到快省准.</P>[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-30 10:23:00 | 显示全部楼层
应该是:     IMEI分为4部分:6位是<FONT color=#ee1111>TAC</FONT>,2位是<FONT color=#dd2222>FAC</FONT>,6位是SN,1位是Checksum[br]<p align=right><font color=red>+3 RD币</font></p>
点评回复

使用道具 举报

发表于 2005-11-30 11:18:00 | 显示全部楼层
不好意思,写反了。谢谢指正
点评回复

使用道具 举报

发表于 2006-1-25 15:38:00 | 显示全部楼层
看一下你的平台是否支持AT命令写IMEI号,如果支持就很简单了,建立一个串口连接,然后,如果需要,先用AT命令禁止MS的SLEEP模式,然后直接写IMEI号就可以了。
点评回复

使用道具 举报

发表于 2006-2-17 09:40:00 | 显示全部楼层
<P>又学习了一段,长知识!</P>
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-23 10:10 , Processed in 0.051302 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表