赞助论坛
  • 40916阅读
  • 0回复

三代机位置定位,破解思路。 [复制链接]

楼层直达
yast  
级别: 中级会员
发帖
167
精华
0
金币
8
威望
13
贡献
2
好评
0
注册
2010-01-21
楼主    yast 发表于: 2012-01-06 10:49:28 
[color=blue][size=4]三代机通讯模块定位原理[/size][/color]



利用小区号和基站号可以做简单的GSM定位。

下面给出一个取得小区号和基站号的方法。 首先依然是打开AT指令端口。 HANDLE hCOM9 = CreateFile (LCOM9:,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ|FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if( hCO...

利用小区号和基站号可以做简单的GSM定位,下面给出一个取得小区号和基站号的方法。
首先依然是打开AT指令端口。

HANDLE hCOM9 = CreateFile ( L"COM9:" , GENERIC_READ|GENERIC_WRITE , FILE_SHARE_READ|FILE_SHARE_WRITE , NULL , OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL , NULL );     if ( hCOM9 == INVALID_HANDLE_VALUE ) MzMessageBoxEx( NULL , L"Error opening COM9" , NULL );  
要取得小区号和基站号,需要首先让手机输出这两个号码,方法是利用设置命令 "AT+CREG=2"。然后再发送AT+CREG?查询即可取得基站号和ID号。



DWORD dwBytes;   char p = 0x0D ;     //cr   char q = 0x0A ;     //lf   WriteFile( hCOM9 , “AT+ CREG = 2 ;+CREG?” , 9 , &dwBytes , NULL );   WriteFile( hCOM9 , &p , 1 , &dwBytes , NULL );   WriteFile( hCOM9 , &q , 1 , &dwBytes , NULL );  
返回值应该是这样的:



AT+ CREG = 2 ;+CREG? < cr > < lf >   +CREG: 2,n,"ABCD","ABCD" < cr > < lf >   OK < cr > < lf >  
其中第一个“ABCD”是小区号(LAC),第二个“ABCD”是基站号(CI)。
至于运营商,可以用AT+COPS?获取。返回值应该类似这样:



AT+COPS? < cr > < lf >   +COPS: 0,0,"China Mobile" < cr > < lf >   OK < cr > < lf >  
这样,就可以利用取得的基站号和ID号做基站定位了。


用单片机模拟通讯模块运行环境,就可以破解三代机地理位置限制!

[color=orangered][size=6]个人见解!不要拍砖![/size][/color][font=黑体][/font]
本帖最近评分记录: 14 条评分