幸运彩票官网注册网址_幸运彩票网投平台怎么样_幸运彩票网站大全开户正规吗_幸运彩票网手机版登录

做您身边的电脑顾问

注册

热点: 七大优势助WP7超越iPhone HD2刷Windows Phone 7包即将放

WP7越狱源于微软故意留下的漏洞?

时间:2011-01-17 08:58   来源:未知   复制分享 共有评论(0)条

点击:

  其实很早之前看到有人说用chevronwp7越狱时会修改系统hosts文件的时候就意识到:chevronwp7 是把自己伪装成微软验证服务器来与手机交互达到官方unlock的效果.今天看到一篇好文章,正好验证了我的想法.但让人惊讶的是,微软的这套验证机制就藏在SDK的Windows Phone Developer Registration工具中,而且代码没有混淆过,这才让chevronwp7 Team能够轻而易举获得越狱方法!

  今天突然在Windows Phone 7 SDK中看到了Windows Phone Developer Registration这个工具,索性操起工具对其进行反编译,结果让人出乎意料,反编译后的代码简直可以称得上就是"源代码",微软竟然不采取任何混淆措施... 尔后又看了一下经过简单代码混淆的chevronwp7工具,可以看出,chevronwp7 team正是参考的微软官方解锁程序的代码.

  通过TcpClient,利用27077端口和手机进行通讯

  this.client = new TcpClient();

  this.client.SendTimeout = 2000;

  this.client.ReceiveTimeout = 2000;

  this.client.LingerState.Enabled = true;

  this.client.LingerState.LingerTime = 0;

  this.client.NoDelay = true;

  this.client.Connect("127.0.0.1", 27077);

  检查手机状态的代码

  byte[] buffer = new byte[4];

  buffer[0] = 16;

  buffer[1] = 1;

  this.commandData = buffer;

  unlock手机的代码段

  List list = new List();

  ASCIIEncoding encoding = new ASCIIEncoding();

  ushort num = (ushort)(((authToken.Length + 3) + 2) + 3);

  list.AddRange(new byte[] { 16, 3 });

  list.AddRange(BitConverter.GetBytes(num));

  list.Add(1);

  list.AddRange(BitConverter.GetBytes((ushort)authToken.Length));

  list.AddRange(encoding.GetBytes(authToken));

  list.Add(2);

  list.AddRange(BitConverter.GetBytes((ushort)2));

  ushort num2 = isInt ? ((ushort)0) : ((ushort)1);

  list.AddRange(BitConverter.GetBytes(num2));

  this.commandData = list.ToArray();

  手机的任何请求都发送到一个http服务器(chevronwp7通过修改hosts文件把所有数据都重定向到本机, 而chevronwp7就把自己伪装成服务器来回应手机发来的请求).

  下面是允许解锁的返回数据:

  0x00000000

  365

  10

  10 这里代表可以最多安装10个xap包

  锁定手机代码段:

  internal LockCommand(string authToken)

  {

  List list = new List();

  ASCIIEncoding encoding = new ASCIIEncoding();

  ushort num = (ushort) (authToken.Length + 3);

  list.AddRange(new byte[] { 16, 2 });

  list.AddRange(BitConverter.GetBytes(num));

  list.Add(1);

  list.AddRange(BitConverter.GetBytes((ushort) authToken.Length));

  list.AddRange(encoding.GetBytes(authToken));

  this.commandData = list.ToArray();

  }

  不得不佩服chevronwp7 team对越狱所做的贡献,但是微软竟把这些东西毫无保留的"开放"给外界...匪夷所思...

(责任编辑:狗扑源码社区)
顶一下
(0)
0%
踩一下
(0)
0%
发表评论
发布言论时请自觉遵守互联网相关的政策法规!
评价:
用户名: 验证码:点击我更换图片