由iPod Touch从4.1降级到4.0所想到的欺骗大法
2010-09-26 14:17 by hackerzhou前几天手贱,把公司发的iPod Touch的固件版本从3.1.2升级到4.1,然后就悲剧的被顾嘉告知刷了4.1无法越狱。昨天就像用抓包欺骗的方法来破解掉魔咒,一直没来得及动手,今天上网查了下,用 http://bbs.weiphone.com/read-htm-tid-1132609.html 里面提到的改hosts的方法,成功的降级了。
具体方法就是把itunes在降级时进行验证的服务器域名的ip地址指向Cydia(即在hosts文件中增加一行:74.208.10.249 gs.apple.com),其实按我之前想的办法是,用一个自己写的代理,在ie中设置代理,itunes连接服务器时会经过这个代理,由于这个代理是由我们控制的,所以可以进行绝对的控制,比如,修改内容等等。
举个简单的用代理欺骗的例子,架设一个浏览器B上设置使用我们的欺骗代理P,P的作用是让所有不是指向www.baidu.com的请求都pass through,发现有url前缀符合www.baidu.com,则将返回的百度logo(http://www.baidu.com/img/baidu_logo.gif)替换成Google的logo url。这样,B上看到的是一个有着Google logo的百度。同理,我们的P还可以截获对www.baidu.com的请求,发送301/302重定向状态给B,那么B会转而去打开Google,而非百度。使用代理欺骗技术可以解决很多问题,比如上面的itunes的验证,对tracker的欺骗等等,如果消息传递不加密,就能被篡改。
想起在糗事百科上看到的一则故事,说是一个人趁室友去洗澡的时候把手机拿过来,把他自己的名字改成那个人女朋友的名字,然后自己给他发了条短信“我们分手吧”,然后再把自己的名字改回去。由于那个手机相当不智能,短信还是会显示成那个人女朋友的名字。这就是典型的欺骗大法,跟改hosts文件如出一辙。
说到欺骗,不得不说下ptliar,前两天把上次在交大闹得沸沸扬扬的ptliar的源代码checkout下来看了下,感觉易用性以及隐蔽性都不够。
易用性缺陷:
1.作者说没有在linux下进行过测试,虽说是python写的,也不能保证在windows下写的代码跨平台了之后不会报错(我觉得应该不会有啥错),不过在它的readme中有写道:“系统平台:不限,但目前仅在Windows测试,其他系统上使用可能存在bug,将来我们会改进对其他系统的兼容性“
2.ptliar功能是相当霸道,作者不建议一边挂ptliar一边做种挂pt,因为这样服务器那边太容易被查出来。也就是说ptliar和utorrent之类的客户端是互斥的。用户得来回切换,折腾死了。
隐蔽性缺陷:
1.由于是直接读取种子文件,生成hash_info并且随机摊派流量,难免发生明明没有人或很少人下载,却提交了非常大量的上传信息给tracker,容易被查出。比如一个5G的文件总共只有5个人下载过,你却提交给tracker 50G的流量。
2.由于完全不做种,那么完全可以写一个客户端,对每一个客户端上声明有的种子进行小规模(比如256KB)的尝试下载,要是用ptliar,不能给出具体的数据,死翘翘。
我只是从纯技术的角度去分析了一下ptliar的原理以及缺陷,目的是告诉大家不要尝试去用。我也只是在技术层面上实现了一个PTCheatProxy,用来思考欺骗特征以及相应的解决方法,所以,跟人肉系统以及我做过的一些别的工具一样不会开放下载。