为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 手机sim卡信息

手机sim卡信息

2018-08-11 7页 doc 22KB 16阅读

用户头像

is_668482

暂无简介

举报
手机sim卡信息手机sim卡信息 Windows mobile 下读取手机SIM卡信息收藏 最近在忙一个移动警务的项目,需要获取SIM卡的信息,来做身份的验证。考虑到获取:国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)和国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number),读取这两个号码用到TAPI的lineGetGeneralInfo()函。在新版的OpenNe...
手机sim卡信息
手机sim卡信息 Windows mobile 下读取手机SIM卡信息收藏 最近在忙一个移动警务的项目,需要获取SIM卡的信息,来做身份的验证。考虑到获取:国际移动设备识别码(IMEI:International Mobile Equipment Identification Number)和国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number),读取这两个号码用到TAPI的lineGetGeneralInfo()函。在新版的OpenNetCF里没有发现对这个的封装(也许我没找到),于是到网上找了找,找到一个以前版本OpenNetCF里的:TapiLib.dll,包含对Windows ce phone api 的封装(TAPI),综合网上的一些资料,实现代码如下: public struct GeneralInfo { public string Manufacturer; public string Model; public string Revision; public string SerialNumber; public string SubscriberNumber; } /// /// Tapi控制类 /// public class ControlTapi { [DllImport("cellcore.dll")] private static extern int lineGetGeneralInfo(IntPtr hLigne,byte[]lpLineGene ralInfo ); /// /// 调用cellcore.dll获取sim卡的综合信息 /// /// /// private GeneralInfo GetGeneralInfo(Line l) { GeneralInfo lgi = new GeneralInfo(); byte[] buffer = new byte[512]; BitConverter.GetBytes(512).CopyTo(buffer, 0); if (lineGetGeneralInfo(l.hLine, buffer) != 0) { throw new System.ComponentModel.Win32Exception(System.Runtime.InteropServices.Marshal.GetLastWin32Error(), "TAPI Error: " + System.Runtime.InteropServices.Marshal.GetLastWin32Error().ToString("X")); } int subscsize = BitConverter.ToInt32(buffer, 44); int subscoffset = BitConverter.ToInt32(buffer, 48); lgi.SubscriberNumber = System.Text.Encoding.Unicode.GetString(buffer, subscoffset, subscsize).ToString(); lgi.SubscriberNumber = lgi.SubscriberNumber.Replace("\0", ""); return lgi; } /// /// 获取sim卡的IMSI /// /// public static string GetIMSINumber() { string result = ""; try { Tapi t = new Tapi(); t.Initialize(); Line l = t.CreateLine(0, LINEMEDIAMODE.INTERACTIVEVOICE, Open NETCF.Tapi.LINECALLPRIVILEGE.MONITOR); ControlTapi ctapi = new ControlTapi(); GeneralInfo gi = ctapi.GetGeneralInfo(l); result = gi.SubscriberNumber; l.Dispose(); t.Shutdown(); } catch// (Exception ex) { result = ""; } return result; } /// /// 获取IMEI的号码 /// /// public static string GetIMEINumber() { string result = ""; try { Tapi t = new Tapi(); t.Initialize(); Line l = t.CreateLine(0, LINEMEDIAMODE.INTERACTIVEVOICE, Open NETCF.Tapi.LINECALLPRIVILEGE.MONITOR); ControlTapi ctapi = new ControlTapi(); GeneralInfo gi = ctapi.GetGeneralInfo(l); result = gi.SerialNumber; l.Dispose(); t.Shutdown(); } catch// (Exception ex) { result = ""; } return result; } } vb 的代码你可以去看看这里: px 另: 1、环境:在vs2005+windows mobile 5.0 ,多普达818测试通过。 2、 关于获取SIM卡的本机号码,你可以用: es/library/dnnetcomp/html/netcfPhoneAPI.asp,这里 提供的方法,不过这个方法需要安全认证,比较麻烦,具体认证的方式见: /Mobility/pocketpc/2k3smartphonesecurity.mspx?pf=true。 3、TapiLib.dll的地址:、参考资料: 读取SIM卡的一些信息用于PDA软件注册及安全使用 最近从客户那边反应来一个需求,就是我们提交的软件中的PDA程序中的通讯录模块的信息安全方 面做得不够,就是在如果PDA丢失时,这里的联系人信息就可能外泄。 所以就提出了以下的解决: 正常情况下,丢失后要更换SIM卡,无论是那一方。所以可通过重新注册新的SIM信息来验证是否 可用。具体的方案细节就不详细说明了。其中技术方面关键的一环是如何识别唯一SIM卡。 刚开始是读取SIM卡的本机号码,从 omp/html/netcfPhoneAPI.asp这篇<<从Microsoft .NET Framework 精简版访问电话API>>文章提 供的示例中封装的Sim类中就有提供一个Sim.GetPhoneNumber()方法方便获取本机号码。 但是考虑到这个号码是可修改的且可以有很多个(通过PDA中提供的SIM管理器就可以修改)。所以 得找其它的SIM卡信息,在这里用的是SIM卡中IMEI,IMSI(国际移动设备识别码(IMEI:Internat ional Mobile Equipment Identification Number)是区别移动设备的标志,储存在移动设备中,可用 于监控被窃或无效的移动设备。IMEI组成如下图所示,移动终端设备通过键入“*#06#”即可查得。其 总长为15位,每位数字仅使用0,9的数字。其中TAC代表型号装配码,由欧洲型号标准中心分配; FAC代表装配厂家号码;SNR为产品序号,用于区别同一个TAC和FAC中的每台移动设备;SP 是备用编码。 国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动 用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。IMSI组成如下图所示,其总长度 不超过15位,同样使用0,9的数字。 其中MCC是移动用户所属国家代号,占3位数字,中国的 MCC规定为460;MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信 网;MSIN是移动用户识别码,用以识别某一移动通信网中的移动用户。) 读取这两个号码用到TAPI的lineGetGeneralInfo()函数。而OpenNetCF提供了对TAPI的封装,正 好可以拿来用。 其中的具体的应用可查看
/
本文档为【手机sim卡信息】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索