Visual Studio文件扩展名作用

.ncb—- 无编译浏览文件(no compile browser)。当自动完成功能出问题时可以删除此文件。build后会自动生成.

.dsw—- 这种类型的文件在VC中是级别最高的,称为Workspace文件

.dsp—- 在VC中,应用程序是以Project的形式存在的,Project文件的扩展名为.dsp,在Workspace文件中可以包含多个Project,由Workspace文件对它们进行统一的协调和管理,每个工程都对应一个dsp文件

.opt—- 与dsw类型的Workspace文件像配合的一个重要的文件类型是以opt为扩展名的文件,这个文件中包含的是Workspace文件中要用到本地计算机的有关配置信息,所以这个文件不能在不同的计算机上共享。当我们打开一个Workspace文件时,如果系统找不到需要的opt类型文件,就会自动的创建一个与之配合的包含本地计算机信息的opt文件。

.clw—- 以clw为扩展名的文件是用来存放应用程序中用到的类和资源的信息,这些信息是VC中的ClassWizard工具管理和使用类的信息来源

readme.txt—- 这个文件每个应用程序都有一个,这个文件中列出了应用程序中用到的所有文件的信息,打开并查看其中的内容就可以对应用程序的文件结构有一个基本的知识

.h—– 这种文件为头文件,包含的主要是类的定义

.cpp—- 这种文件为实现文件,该种文件包含的主要是类成员函数的实现代码。一般来说,h为扩展名的文件和cpp为扩展名的文件是一一对应配合使用的

以下为详细列表:

.APS:存放二进制资源的中间文件,VC把当前资源文件转换成二进制格式,并存放在APS文件中,以加快资源装载速度。资源辅助文件。

.BMP:位图资源文件。

.BSC:浏览信息文件,由浏览信息维护工具(BSCMAKE)从原始浏览信息文件(.SBR)中生成,BSC文件可以用来在源代码编辑窗口中进行快速定位。用于浏览项目信息的,如果用source brower的话就必须有这个文件。可以在project options里去掉Generate Browse Info File,这样可以加快编译进度。

.C:用C语言编写的源代码文件。

.CLW:ClassWizard生成的用来存放类信息的文件。classwizard信息文件,ini文件的格式。

.CNT:用来定义帮助文件中“Contents”的结构。

.CPP或.CXX:用C++语言编写的源代码文件。

.CUR:光标资源文件。

.DEF:模块定义文件,供生成动态链接库时使用。

.DLG:定义对话框资源的独立文件。这种文件对于VC工程来说并非必需,因为VC一般把对话框资源放在.RC资源定义文件中。

.DSP:VC开发环境生成的工程文件,VC4及以前版本使用MAK文件来定义工程。项目文件,文本格式。

.DSW:VC开发环境生成的WorkSpace文件,用来把多个工程组织到一个WorkSpace中。工作区文件,与.dsp差不多。

.EXP:由LIB工具从DEF文件生成的输出文件,其中包含了函数和数据项目的输出信息,LINK工具将使用EXP文件来创建动态链接库。只有在编译DLL时才会生成,记录了DLL文件中的一些信息。

.H、.HPP或.HXX:用C/C++语言编写的头文件,通常用来定义数据类型,声明变量、函数、结构和类。 .HLP:Windows帮助文件。

.HM:在Help工程中,该文件定义了帮助文件与对话框、菜单或其它资源之间ID值的对应关系。

.HPJ:由Help Workshop生成的Help工程文件,用来控制Help文件的生成过程。

.HPG,生成帮助的文件的工程。

.ICO:图标资源文件。

.ILK:连接过程中生成的一种中间文件,只供LINK工具使用。

.INI:配置文件。

.LIB:库文件,LINK工具将使用它来连接各种输入库,以便最终生成EXE文件。

.LIC:用户许可证书文件,使用某些ActiveX控件时需要该文件。

.MAK:即MAKE文件,VC4及以前版本使用的工程文件,用来指定如何建立一个工程,VC6把MAK文件转换成DSP文件来处理。

.MAP:由LINK工具生成的一种文本文件,其中包含有被连接的程序的某些信息,例如程序中的组信息和公共符号信息等。执行文件的映像信息记录文件。

.MDP:旧版本的项目文件,相当于.dsp

.NCB:NCB是“No Compile Browser”的缩写,其中存放了供ClassView、WizardBar和Component Gallery使用的信息,由VC开发环境自动生成。无编译浏览文件。当自动完成功能出问题时可以删除此文件。编译工程后会自动生成。

.OBJ:由编译器或汇编工具生成的目标文件,是模块的二进制中间文件。

.ODL:用对象描述语言编写的源代码文件,VC用它来生成TLB文件。

.OLB:带有类型库资源的一种特殊的动态链接库,也叫对象库文件。

.OPT:VC开发环境自动生成的用来存放WorkSpace中各种选项的文件。工程关于开发环境的参数文件。如工具条位置信息等。

.PBI、.PBO和.PBT:由VC的性能分析工具PROFILE生成并使用的三种文件。

.PCH:预编译头文件,比较大,由编译器在建立工程时自动生成,其中存放有工程中已经编译的部分代码,在以后建立工程时不再重新编译这些代码,以便加快整个编译过程的速度。

.PDB:程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息。

.PLG:编译信息文件,编译时的error和warning信息文件。

.RC:资源定义文件。

.RC2:资源定义文件,供一些特殊情况下使用。

.REG:注册表信息文件。

.RES:二进制资源文件,资源编译器编译资源定义文件后即生成RES文件。

.RTF:Rich Text Format(丰富文本格式)文档,可由Word或写字板来创建,常被用来生成Help文件。

.SBR:VC编译器为每个OBJ文件生成的原始浏览信息文件,浏览信息维护工具(BSCMAKE)将利用SBR文件来生成BSC文件。

.TLB:OLE库文件,其中存放了OLE自动化对象的数据类型、模块和接口定义,自动化服务器通过TLB文件就能了解自动化对象的使用方法。

.WAV:声音资源文件.


2013-11-09 VS , Microsoft , Knowledge

Markdown online Editor

之前不久我接触过Markdown,还写了一篇博客介绍MarkDown ,同时也找到了不少在线的Markdown编辑器.不过最近由赛恩推荐的Stackedit在线编辑器确实好用,而我之前是一直使用scribefire Chrome插件来发布Blogger文章,偶尔也使用Blogger后台,而最近Chrome下Blogger后台完全上不去,发生”There was an error while fetching stats. Please reload page.”错误,而scribefire最近在我启用二步验证之后也失效,幸而找到StackEdit这个现在编辑工具.用过一段时间才发现是如此的好用.下面就讲讲这款在线编辑器.

##网址 https://stackedit.io

##什么是Stack Edit Stack Edit 是爱尔兰人 Benoit Schweblin 创立的在线 Markdown 应用,支持发布内容到 Google Blogger,具备离线撰写和编辑功能。

##StackEdit 可以:

  • 管理多个 MarkDown 文档在线或脱机
  • 通过模板导出 MarkDown 或 HTML 格式文件
  • 云同步 MarkDown 文档
  • 支持 Google Drive, Dropbox 和本地硬盘驱动器
  • Post MarkDown 文档到 Blogger 、Blogspot、WordPress和Tumblr
  • 发布 MarkDown 文档在GitHub,GIST,Google Drive,Dropbox或任何SSH服务器
  • 分享一个及时渲染的 MarkDown 文档链接
  • 文档信息统计显示
  • 转换HTML到 MarkDown

##StackEdit支持:

  • 实时编辑、HTML预览并自动滚动定位到编辑处
  • Markdown Extra 支持 Prettify/Highlight.js 的语法高亮
  • LaTeX 数学表达式使用MathJax
  • 所见即所得的控制按钮
  • 可配置的布局
  • 支持多个主题
  • A la carte extensions
  • 离线编辑
  • Google Drive和Dropbox在线同步
  • 一键发布支持 Blogger,Dropbox,GIST,GitHub,Google Drive,SSH server,Tumblr,WordPress

##同类型在线编辑器 在介绍MarkDown这篇文章中提到的:

  • http://mahua.jser.me/
  • http://dillinger.io/
  • http://jianshu.io/
  • https://draftin.com/

但是这些都没有这个StackEdit功能强大.

##几个小技巧

  • 更新某一篇Blogger文章,需找到post id,也就是你打开需修改的文章,查看网页源代码,在<div class="post hentry">这个div第一个a标记中name属性的值就是post id.
  • 现在我已经养成了在Dropbox中新建md文件,有stackedit打开,编辑发布的习惯

参考:1 2


2013-11-01 MardDown , Blogger

学习使用MarkDown语言进行写作

##MarkDown语言是什么 MarkDown语言发明的初衷就是让互联网发布内容易读易编写,它用一种简单的语法将文字内容组织,转变成HTML语言发布在互联网上 官网

使用MarkDown这种语言的契机是想要给极客公园投稿,在回复的邮件中他们提到了这种语言。在简单了解之后简单的看了下它的语法。在他们的回复邮件中他们还给出了一个文章的模板—-可能吧。大家应该还记得可能吧每篇文章的排版模式吧!想当初禅叔应该就是用这种方式去写作的吧。使用MarkDown 写作让你全心全意的专注在写作的过程中,不必关注格式,排版,这就是这门语言发明的初衷。其他具体的内容可以参考:维基百科和我给出来的其他链接,上面都有非常详细的介绍。

##意外的收获 在查询MarkDown内容的时候,我还意外的知道了“简书”这样的一个网站。网站外观制作精美,通过网站的关于知道网站还在内测中,这个网站专注于写作,所以他的编辑器就是支持MarkDown的。在现在这样一个浮躁的社会没有多少人愿意静下来读一篇很长的文章,当然也少有人愿意写一篇很长的文章,不过我庆幸还有那么一群人能够做出这样的产品,还能有许多人在这个平台上写作,或许我们的社会需要那样的一批人才能更加丰富多彩。

##收集到的一些网站 小众软件 MarkDown工具

##在线编辑器

##MarkDown语法

  • http://markdown.tw/
  • http://wowubuntu.com/markdown/
  • http://jianshu.io/p/q81RER

2013-11-01 MarkDown

modify build prop to get Ultra Strike

RE管理器修改/system/build.prop 如下图所示 By Tony Zhao 保存,重启,清空ingress数据

1

2

3


2013-10-31 Ingress

add auto complete

###add auto complete

Preference->Java->Editor->Content Assist->Auto activation triggers for java . Then change “.” to “.abcdefghijklmnopqrstuvwxyz”


2013-10-31 Ingress

Movie CSE for douban

脚本地址:http://userscripts.org/scripts/show/175005

Find useful movie download link from Google Custom Search Engine 通过Google自定义搜索引擎为豆瓣电影添加下载资源链接 参考豆瓣电影下载插件 by ratwu

将Google Custom Search Engine中找到的资源链接在豆瓣电影页面显示 Pic Google CSE地址: https://www.google.com/cse/home?cx=013193653470345952139:rmavzl75vbq 代码参考豆瓣电影下载插件: http://userscripts.org/scripts/show/129534


2013-10-28 CSE , 豆瓣 , Userscript

JDK 和 Tomcat 配置

这些天重装系统,好多东西都要重来,装系统倒是不麻烦,麻烦的是好多编程工具需要配置环境变量.这里就当作是备忘吧.以防止以后还需要.

JDK是什么

Java Development Kit(JDK)是Sun公司针对Java开发人员发布的免费软件开发工具包(SDK,Software development kit). 普通用户并不需要安装JDK来运行Java程序,而只需要安装JRE(Java Runtime Environment).而程序开发者必须安装JDK来编译、调试程序。—-from Wikipedia

JDK下载地址

  • Google搜索JDK
  • 或者点击http://www.oracle.com/technetwork/java/javase/downloads/index.html 链接可能失效

JDK环境变量配置的步骤如下:

  1. 我的电脑–>属性–>高级–>环境变量.
  2. 配置用户变量:
    • a. 新建 JAVA_HOME C:\Program Files\Java\jdk (JDK的安装路径)
    • b. 新建 PATH %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
    • c. 新建 CLASSPATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar 或者配置系统变量
    • a. 新建 JAVA_HOME
    • b. 修改 PATH , 在原有增加,以分号隔开(注意不要修改之前环境变量,只能增加)
    • c. 新建 CLASSPATH
  3. 测试环境变量配置是否成功: 开始–>运行–>CMD 键盘敲入: JAVAC JAVA 出现相应的命令,而不是出错信息,即表示配置成功!

环境变量配置的理解:

  1. PATH环境变量。作用是指定命令搜索路径,在i命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
  2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
  3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。

配置Tomcat之前先配置JDK

什么是Tomcat

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全局管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。

Wikipedia

Tomcat下载地址

  • Google搜索Tomcat
  • 或者http://tomcat.apache.org/

配置Tomcat环境变量

  1. 新建变量名:CATALINA_BASE,变量值:D:\tomcat (Tomcat目录)
  2. 新建变量名:CATALINA_HOME,变量值:D:\tomcat
  3. 打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

启动Tomcat服务

方法两种:

  1. 方法一:在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。
  2. 方法二:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。(貌似只有安装版Tomcat才有,如果是解压直接使用的,在bin目录下有startup.bat,运行即可)

测试Tomcat

打开浏览器,在地址栏中输入http://localhost:8080回车,如果看到Tomcat自带的一个JSP页面,说明你的JDK和Tomcat已搭建成功。


2013-10-09 Java , JDK , Tomcat , Knowledge

Gelaxy Nexus Verizon折腾

这两天入手一电信版Galaxy Nexus(i515,Galaxy Nexus Verizon),买的时候就是叫商家刷的CM的系统,回来一看还算满意,CM10.2 8月份的版本,Android 4.3很新,唯一让我不爽的就是3G有问题,一方面上不去ingress,一方面在开启3G情况同时开启WIFI,关闭WIFI之后3G就再也连接不上去了.于是我根据商家给的ROM,找论坛,Google,折腾一下午才算有点眉目.

商家给的刷机包名称(cm-10.2-20130803.1043-SKANK-toro.zip),这一看就不是原生的CM系统,肯定针对Verizon版做过一定修改.于是我找到了论坛上这则帖子Android ROM 完美3g cm10.2 非官方版4.3 8月6号更新

根据这个帖子,我继续找到了修改这个ROM的作者的官网 , 我自己下载了最新版的刷入了,可我发现3G出问题了,怎么都连接不上。

ROM作者在XDA上的Thread http://forum.xda-developers.com/showthread.php?t=1771032

不过我自己整的这么个下午还不如Google+ 郭极和郑科 两位给我的信息有用.在这则帖子

郑科留言中提到的 最新基带 http://forum.xda-developers.com/showpost.php?p=30942870&postcount=400 而商家给我刷的是toroplus_for_toro_cdma_radio_FG01.zip

郭极 Reply

如果你以后要写号可能会遇到类似问题,参考帖子 http://www.diypda.com/thread-815189-1-1.html http://www.diypda.com/thread-802263-1-1.html

刷下面3个东东解决3G等问题

  • 最新3G补丁 http://pan.baidu.com/share/link?shareid=350920&uk=3054546283
  • GA02基带 http://pan.baidu.com/share/link?shareid=350904&uk=3054546283
  • 还有推荐刷这个内核,省电 稳定 http://pan.baidu.com/share/link?shareid=349529&uk=3054546283

先刷完AOKP ROM 然后GAPPS 然后刷内核,再然后GA02基带,最后3G补丁

另外一个问题就是Play Store上不去的问题

[教程] (12月17号重新编辑)全民3G,首发三星I515 完美3G教程,下载地址已更新 http://www.diypda.com/thread-812093-1-1.html

GNCDMA写号教程重制版.pdf

参考:


2013-09-22 Nexus

域名解析DNS

##DNS服务器 DNS叫做域名解析服务,DNS服务器在现在的网络环境中有着非常重要的作用,DNS服务器扮演的角色就是将你在地址栏中输入的域名(比如,www.google.com)解析成IP地址,然后通过IP地址去访问该网站,所以解析域名的快慢直接影响到你访问网站的速度.所以Google在2009年推出了Google的DNS解析服务

##DNS劫持 DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。

DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。

再说简单点,当你输入google.com这个网址的时候,你看到的网站却是百度的首页。

中国特殊的网络环境,有的时候通过修改DNS服务器就能让你上网的速度更快,能上的网站更多.

##如何设置DNS

###Windows下设置DNS

言归正传,在Windows下设置DNS,只要在”网络与共享中心”-本地连接-属性-Internet协议版本里面设置DNS服务器就行了. IPv6 DNS服务器地址:

2001:4860:4860::8888 2001:4860:4860::8844

IPv4 DNS服务器地址:

8.8.8.8 8.8.4.4

如果身在一个IPv6的环境使用IPv6的DNS服务还是挺快的.

###Linux下设置DNS Linux下配置文件地址:

/etc/resolv.cong

文件中使用如下配置:

nameserver 8.8.8.8
nameserver 8.8.4.4

IPV6 同理

##其他 我在其他网站上面还看到有未被透露的Google DNS服务器地址:4.3.2.1 ,很可惜我做Ping测试和nslookup测试的时候,这个地址已经不行了.

参考: 1 2 参考


2013-09-21 Google , DNS , Web

电信写号三码与五码

3码包括哪些?

ESN、IMSI、AKEY

5码包括哪些?

五码分别是:IMSI,AKEY, ESN,AN,AAA。 ESN、IMSI、AKEY、AN/AAA账号、AN/AAA密码

3码5码有什么作用?

##几个术语

###ESN ESN是电子序列号Electronic Serial Number的缩写,这个码应该叫做机器码的,国外的机卡一体机在国外入网的时候,一般将机器自带的机身ESN码提供给运营商的,运营商就是根据用户的机身esn为基础,然后加入其它的数据使电话正常使用的。我们在国内见到的cdma机器都有ESN码的,但是这个ESN不是我们所理解的esn码,因为国内的是机卡分离的机器,所以用户的esn码是写在UIM卡中的。每部手机都被分配了一个电子序列号,在每次呼叫过程中,它能被传送到电话中心,移动电话每次接收时都要验证对方的电子序列号。

###IMSI 国际移动用户识别码,International Mobile Subscriber Identity ,国际上为唯一识别一个移动用户所分配的号码,IMSI码即我们的手机号码,但是电信分配的内部识别号码,外部就是我们的133xxx手机号码。 从技术上讲,IMSI可以彻底解决国际漫游问题。但是由于北美目前仍有大量的AMPS系统使用MIN号码,且北美的MDN和MIN采用相同的编号,系统已经无法更改,所以目前国际漫游暂时还是以MIN为主。其中以O和1打头的MIN资源称为IRM(International Roaming MIN),由IFAST (International Forum on ANSI-41 Standards Technology)统一管理。目前联通申请的IRM资源以09打头。可以看出,随着用户的增长,用于国际漫游的MIN资源将很快耗尽,全球统一采用IMSI标识用户势在必行. IMSI共有15位,其结构: IMSI = MCC + MNC + MSIN,其中MCC是指移动台国家代码(3位,中国460),MNC是指移动网代码(2 位中国00),MSIN是指移动用户识别号码(10位)

IMSI共有15位,其结构如下:IMSI = MCC + MNC + MSIN

  • MCC:Mobile Country Code,移动国家码,共3位,中国为460;
  • MNC:Mobile Network Code,移动网络码,共2位,中国电信CDMA系统使用03
  • MSIN: Mobile Subscribler Identification Number,移动用户识别码,共有10位,其结构如下: 09+M0M1M2M3+ABCD,其中的M0M1M2M3和MDN号码中的H0H1H2H3可存在对应关系,ABCD四位为自由分配。可以看出IMSI在MIN号码前加了MCC,可以区别出每个用户的来自的国家,因此可以实现国际漫游。在同一个国家内,如果有多个CDMA运营商,可以通过MNC来进行区别. 一个典型的IMSI号码为460 03 0912121001;

###A-key A-key 是存储在MS中进行鉴权和加密的密钥,是分配给MS的64bit数据,并且仅对MS和相关的归属位置寄存器鉴权中心(HLR/AC)是可知的。

CDMA系统在UIM卡中存储的信息可以分为三类:

  • 第一类是用户识别信息和鉴权信息,主要是IMSI号码和CDMA系统的专有的鉴权信息,其中包括A-Key、SSD-A和SSD-B。
  • 第二类是业务信息, CDMA系统中与业务有关的信息存储在HLR中,这类信息在UIM卡中并不多,主要有短消息状态等信息。
  • 第三类是与移动台工作有关的信息,包括优选的系统和频段,归属区标识(SID、NID组)等参数。除上述保证系统正常运行的信息以外,用户也可以在UIM卡中存储自己使用的信息,如电话号码本等。

###AN (Access Network 接入网):根据近些年来电信网的发展趋势,国际电信联盟电信标准化部门(ITU-T)提出了“接入网”的概念。接入网的定义是:电信部门业务节点与用户终端设备之间的实施系统。它可以部分或全部代替传统的用户本地线路网,并可包括复用、交叉连接和传输功能。是可以将各种用户接入到业务接点、能支持包括窄带和宽带多种业务综合接入的接入网。

###AAA 身份验证 (Authentication)、授权 (Authorization)和统计 (Accounting)Cisco开发的一个提供网络安全的系统

每个手机出厂时都有一个ESN号,MIN号是运营商分配的,用以区别用户,一个手机能够正常服务,在交换上写号时必须输入ESN。这个ESN号和MIN号是一一对应的,在鉴权时使用,对于机卡不分离手机,需要写号时只需提供手机中的ESN号给交换人员,他们会分配一个MIN号给你,在手机中写入即可。在用户鉴权时会用到手机中固有的ESN号,所以对于不同的机卡合一手机,由于ESN号不同,把获得的MIN值写入其它手机,手机可以识别网络,但无法通过鉴权,故无法通话;对于机卡分离的手机,手机出厂时也有ESN号,但在写号时在UIM卡中另外写入一个ESN号,所以手机鉴权时不用手机中固有的ESN号,而是用UIM卡中人为写入的ESN号,这样UIM卡就可以做到放入任何一个C网手机中都可以打电话。

一个机卡合一的手机进入CDMA网工作,最初只需要三个数据:一是ESN码;二是IMSI码(机卡合一写在手机里面,机卡分离的ESN IMSI在卡里面);三是鉴权码,存储的位置和IMSI一样。

##写号目的 就是保持电信机房ESN(指的是手机UIM卡里的ESN)等于手机机身内部的ESN。 每个手机出厂时都有一个ESN号,MIN号是运营商分配的,用以区别用户,一个手机能够正常服务,在交换上写号时必须输入ESN。这个ESN号和MIN号是一一对应的,在鉴权时使用,对于机卡不分离手机,需要写号时只需提供手机中的ESN号给交换人员,他们会分配一个MIN号给你,在手机中写入即可。在用户鉴权时会用到手机中固有的ESN号,所以对于不同的机卡合一手机,由于ESN号不同,把获得的MIN值写入其它手机,手机可以识别网络,但无法通过鉴权,故无法通话;对于机卡分离的手机,手机出厂时也有ESN号,但在写号时在UIM卡中另外写入一个ESN号,所以手机鉴权时不用手机中固有的ESN号,而是用UIM卡中人为写入的ESN号,这样UIM卡就可以做到放入任何一个C网手机中都可以打电话。一个机卡合一的手机进入CDMA网工作,最初只需要三个数据:一是ESN码;二是IMSI码(机卡合一写在手机里面,机卡分离的ESN IMSI在卡里面);三是鉴权码,存储的位置和IMSI一样。

方法:

  1. 改电信机房ESM等于手机机身内部ESN
  2. 改手机内部ESN等于电信机房ESN(指的是手机UIM卡里的ESN)

具备ESN、IMSI、A-KEY编码,你的手机入网打电话收发短信等基本通讯功能已经搞定了,上 EV-DO(3G)则需要:AN、AAA 码

ESN(这个码应该叫做机器码的,国外的机卡一体机在国外入网的时候,一般将机器自带的机身ESN码提供给运营商的,运营商就是根据用户的机身esn为基础,然后加入其它的数据使电话正常使用的,我们在国内见到的cdma机器都有ESN码的,但是这个ESN不是我们所理解的esn码,因为国内的是机卡分离的机器,属于用户的esn码是写在UIM卡中的)

AKEY码 (鉴权码)顾名思义,就是手机登录网络时候校验用的,正规的一体机写号,实际就是把imsi和a-key写入手机,并在电信内部系统登记三个码的对应关系。手机登录网络,把一体机或uim卡上的这三个码和交换机上的三码进行校验,正确及为合法用户。(这种写号方法我不了解,看似可行,但肯定对硬件做了改动,故不作评论)

已有号码的,两种情况 读取老手机的esn和imsi号,通过关系获得a-key(绝非通过关系换算,如果不是通过某种方式直接读用户的UIM卡,剩下的可能我就不说了,嘿嘿) 读取老手机的esn和imsi号,通过关系关闭鉴权(即取消了a-key和其他两个码的对应关系),写入这两个号就可以了,但存在孖机风险。 写号的关键在于写入的三码对应关系和电信网内的记录一致。由于a-key一般情况下不能在客户端获得,所以如果关闭鉴权,那么用户只需要esn和 imsi码即可,增加了孖机的风险,因为ESN和imsi都可以通过软件自行写入。(确实如此。不过发觉可能被盗了也没关系,去营业厅换一张UIM,再按之前的操作方式改为一体机就可以了)

  1. 关闭鉴权,这个方法路人皆知,所以内部也是控制非常严格。
  2. 在计费系统读出AKEY。
  3. 在系统将AKEY改为0000000000000000,等同于关闭鉴权。
  4. 修改系统AKEY为新的任意值,同时记录这个AKEY,等同于读出AKEY,比方法3区别在并没有关闭鉴权。
  5. 接触到未开通的等待换卡用的UIM卡数据库,记录其中一个卡号,IMSI,UIM ID(ESN),AKEY,去前台做原号码换卡操作,录入你记录的卡号,领到这张卡不用,将三个参数写到机卡合一手机。

##CDMA鉴权及读码知识

###鉴权 国内的CDMA手机和目前国外的手机唯一不同的地方是–机卡分离,这是个优点,因为他可以适应发展中国家这种换机不换号的特点(咱们资源有限,人太多)。但是也有缺点,就是相对目前五大洲所有使用CDMA机卡一体手机而言。因为在国外,手机号不像国内这种,需要好号,需要顺子号等等的迷信需求,他们的号码直接就使用交换机用于识别手机个体的识别码,比如我们知道的十位imsi,而国内是将133****作为一个号码平台,把他和十位imsi一一对应起来,就有了咱们的所谓133特服号打头的手机号码了,你要五个8,六个7,其实手机本身的号码并不一定很好,兴许imsi还是个带444呢!至于鉴权呢,就是介于133平台和imsi之间的一个必要识别步骤,他需要在极短的时间内对个人手机的用户信息(当然不是你叫什么之类的数据了),包括所属地区代码,是否漫游状态等等进行识别,顾名思义,鉴权就是鉴别权利。鉴权处理是筛选合法用户,并允许接入网络取得服务的过程,鉴权处理必须在位置登记、移动台呼叫的终止与发起前完成。 鉴权过程:实际是一个“询问与响应”的过程,首先由交换生成一个鉴权参数AUTHR,称为鉴权响应,根据CDMA用户鉴权算法(简称SAC),由一个随机号码RAND、共享密码数据SSD、电子系列号ESN、移动台识别号MIN组成。该参数与RAND随机数一起被移动台(手机)送往识别中心,由识别中心利用自身用户鉴权参数、存储的SSD与从手机(应该说是移动台)接收的RAND重新生成一个AUTHR,如果新的AUTHR与从移动台处收到的AUTHR一致,就说明鉴权成功,允许服务。如果两个AUTHR不一致,将由识别中心启动一个唯一询问过程重新来一次鉴权。对于机卡一体机,由于无法获得SSD,也就无法完成以上鉴权过程,因此,必须在识别中心关闭该号码的鉴权过程,方可正常使用。也就是说,每个号码都鉴权,用韩机只能把鉴权关了,烧号以后才能正常使 用。

###关鉴权 关掉鉴权就是要把133平台绕过去,因为机卡一体手机与交换机握手的时候发射的识别信息是十位imsi,而不是133****,所以网络会认为你的号码有误!所以,关鉴权是机卡一体手机在国内使用的必需步骤。这里需要声明一件事:为什么联通不让关鉴权?因为关掉鉴权就等于放弃对手机的安全信息的保密性了,如果手机都是不用鉴权信息就可以登录网络,那遇到扒机怎么办!所以,关鉴权以后,联通或是默许,或是反对,或是给你重新打开,因为三个字“不合法”!

###交卡关鉴权 为什么要交卡呢!现在机卡一体手机关鉴权主要通过两种途径,一种找人关,这样的关法无需交uim卡,插卡和一体机都能够使用,但是需要把卡里面的esn写进机卡一体机,使卡内的esn和一体机的esn保持一致,这样就等于你给自己扒机了!有缺点—卡和一体机不能同时使用,否则……后面讲。第二种是通过当地联通关于机卡一体机入网使用的相关政策,把卡交给联通公司,这样的好处是,联通通过机房把你的卡的esn改成你的一体机的esn(一体机本身有esn,需要在你交卡的时候提供给营业人员,但是各地关于一体机的入网政策不一样,所以不要随便敏感词语已过滤卡给别人,要先问清楚了。)这样做的好处是卡不能使用了,机器安全了,避免了被人扒机。综上,还是交卡好!为什么呢,你总不会想在自己的手机被人莫名其妙的扒机后产生了莫名费,还要投诉说联通吃费吧!因为联通没收回你的卡,所以一切后果由你本人全部承担,概不负责!

###一机多号的实现方式 2个133的号码想同时在一台韩机上使用,必须有一个号码在连通改变其esn, 这样2个号码的esn都一样了,再在手编里不同的信道上做不同的imsi,然后你在菜单的信道选择里切换即可.举例:13333333333和13388888888想同时在v420上使用,不用今天写这个号码明天写那个号码这样切换,只需在联通机房把其中的一个号码的esn改成和另一个号码一样的esn,比如改后13333333333和1338888888的esn都是,3000000了,然后再通过手编,把13333333333和13388888888的imsi分别作到两个不同的信道里,这时记住这两个号码对应的信道,使用时在“话机设置”的“信道选择”菜单里切换这2个信道即可,1333333333作到第4个信道里,那菜单里选第4个信道,机器重启后你用的就是13333333333这个号码了,13388888888作到第3个信道里,那菜单里选第3个信道,机器重启后你用的就是13388888888这个号码了.

##行机和韩机读数据esn和imsi的方法

  1. 三星插卡的cdma读ESN 和 IMSI方法一:
    • 输入*759#813580,出现界面模式
    • 按2键,再按4键 ,连按4次*键,调出8位的ESN ,由数字和字母组成
    • 按2键,再按2键 ,连按5次*键,调出10位的IMSI,为10位数字数字,第一位为0
    • 按#02退出
  2. 三星插卡的cdma读ESN 和 IMSI方法二:
    • 按左上角菜单键,再按数字6键,再按*键,输入密码000000进入系统程序,
    • 第一个菜单就是ESN,记下八位数值,
    • 第二个就是NAM1 Phone Number显示的就是IMSI号码。一直按OK直到退出
  3. lg插卡cdma手机读ESN 和 IMSI方法:
    • 按菜单键,按0键,输入密码000000,
    • 按确认键,查找esn字样,找到后记下数据,
    • 同理查找nam字样,即imsi(以上中文界面)
  4. 摩托罗拉V680读ESN 和 IMSI方法:
    • 输入25*#然后按录音键两下,然后输入071082,按3,再按3,
    • 显示15位数字,后10位为要查询的IMSI码
    • 例如:460030932242687(前五位删除,NAM为:0932242687)
    • 输入25*#然后按录音键两下,然后输入071082,按4,再按9,显示的是8位ESN码.
  5. 韩机读ESN 和 IMSI方法:
    • 输入5809540*45680,出现界面模式
    • 按2键,再按4键 ,连按4次*键,调出8位的ESN ,由数字和字母组成
    • 按2键,再按2键 ,连按5次*键,调出10位的IMSI,为10位数字数字,第一位为0
    • 写号成功后不能在营业厅补卡,不然ESN会改变,导致不能电话需要重新关鉴权或者重新写入新的esn

参考资料:


2013-09-20

Google+

最近文章

  • Maven 介绍 Maven 是一个项目管理工具,主要用于项目构建,依赖管理,项目信息管理。自动化构建过程,从清理、编译、测试和生成报告、再到打包和部署。
  • IntelliJ IDEA 中使用 Resin 调试 平时开发环境使用的是 jetty,而 Java Web 有一个更好更快的服务器 Resin,这篇文章就来说一下什么是 Resin,以及在 Debug 中如何使用。
  • 使用Shell命令来对 Unix 时间戳和日期进行转换 date 命令 在程序中经常要使用到 Unix timestamp 和日期的转换,通常情况下都是Google一个时间戳转换的网页在进行转换,其实 Linux 命令中就有能够快速实现转换的命令。主要都是集中在 date 这个命令。date 命令主要用于显示或设定系统时间和日期。
  • Mastering the Vim 我已经用了很长一段时间 Vim 了,但是 Vim 最可贵之处便在于你永远达不到 Vim 的天花板,在使用的过程中我永远会发现操作 Vim 的其他便捷方法。最近看了一个关于 Vim 的讲座 ,革新我对 Vim 命令的认识。可以说掌握这样的一个世界观可以对 Vim 的操作上到另外一个层次。下面就总结一下这个视频中的精髓内容。
  • Spring MVC 应用处理 CORS 什么是跨域或者说什么是CORS(Cross-origin resource sharing),中文叫”跨域资源共享”。在了解 CORS 之前首先要知道“同源策略”,出于安全考虑,浏览器会限制Ajax中发起的跨站请求。比如,使用 XMLHttpRequest 对象发起 HTTP 请求就必须遵守同源策略(same-origin policy),”同源策略“是浏览器安全的基石。具体而言,Web 应用程序能且只能使用 XMLHttpRequest 对象向其加载的源域名发起 HTTP 请求,而不能向任何其它域名发起请求。阮一峰写的一篇关于 CORS 的文章 介绍得非常详细,这里主要记录一下重点以及 Spring MVC 中如何处理 CORS。