多语言展示
当前在线:1146今日阅读:179今日分享:36

Siri取Key给Spire教程,新增Siri服务控制器

【提前说明,谨慎查看】  1. 你需要有一步,朋友的也可  2. 目前Key只能24小时有效,还无法长期使用;可以长期使用了,我会继续发新的教程  3. Spire目前会对输入法产生不良影响,可能导致输入的时候闪退、卡死等;非本教程所致,因为其与中文输入法存在冲突导致  4. 第二次获取Key的时候,只需要按照下面步骤运行python dns.py和ruby siriServer.rb即可  5. 运行前,请检查udp的53端口、tcp的443端口是否已被占用。例如Bind、IIS等可能会占用。  6. 下载地址,就在图片里面,大家仔细看看就知道了。
工具/原料

iPhone4S

步骤/方法
1

【第一部分,移植环境的建立】  1. 可以正常使用Siri的iPhone4S一部(例如朋友的),正常运行可以上网的WindowsXP或者Windows7;如果是Linux或者mac用户,应该是可以看懂,参考过去的,否则玩啥呢。    以下按照内网环境进行;如果要在公网环境运行,请自行根据路由器设置DMZ等。    先在C盘根目录下,建立新目录Siri,备用。    然后,下载Python和Ruby。为了保证可以正常下载,建议先使用NPVq1an9翻为好。

2

2. 下载最新版OpenSSL,下载完成,点击安装,安装到C:\Siri\openssl,安装界面有一步提示“Copy Open DLLs to”时,选择第二个(包含/bin的)

3

4

3. 下载最新版Python 2.6(必须该版本,其他未测试),下载完成,点击安装,安装到C:\Siri\Python,安装过程中,需要选择打钩的,全部打钩好了。切记:全部打钩。  国内下载地址:请看参考资料地址

5

6

4. 下载最新版Ruby 1.8.7(必须该版本,其他未测试),下载完成,点击安装,安装到C:\Siri\Ruby,安装过程中,需要选择打钩的,全部打钩好了。切记:全部打钩。  记住,先点击rubyinstaller-1.8.7-....exe,安装Ruby;再点击DevKit-tdm-32-..........exe,安装DevKit。两者的目录,都输入C:\Siri\Ruby

7

8

5. 安装完Python2.6(必须该版本,其他未测试)和Ruby 1.8.7 (必须该版本,其他未测试)后,注销一次,再回来,继续操作。

9

6.同时按Win键(四个方块,微软图标,像飘动旗帜的那个)和R键,打开运行,输入cmd.exe

10

11

7. 在cmd.exe打开的黑窗口中,依次输入以下命令,每次输入后,要回车,才能再次输入下一条指令  复制代码 C:  CD \  CD Siri  CD Ruby  ruby dk.rb init  ruby dk.rb install  gem install eventmachine --pre -- --with-ssl-dir=C:\Siri\openssl --with-ssl-include=C:\Siri\openssl\include --with-ssl-lib=C:\Siri\openssl\lib  gem install CFPropertyList    其中,执行gem是为了安装Ruby的调用库eventmachine和CFPropertyList,安装下载的时间可能比较长,根据网速而定;    注意,eventmachine的安装,与昨天的版本不同,加了参数,请重新执行一次    为了保证可以正确安装下载,建议先NPVq1an9翻为好。    如果出现could not find main page README提示,可以不管,已经安装正常了。

12

13

8. 至此,基本环境,全部搞定;   那些所谓的需要建立DNS环境什么的,什么用Bind什么的,全都是圾垃,全都是瞎说。   他们本身提供的附件(本帖也提供)中dns.py,这个文件,就是用来提供最简单的DNS服务的,用它就足够了,压根不需要什么Bind。

14

9. 拷贝一下代码,粘贴到记事本,将192.168.*.*修改为你自己的电脑的内网ip地址。   建议直接下载附件中的dns.py dns.py dns.py.zip (1 K) 下载次数:281 ,以确保不会拷贝出错   保存文件名为C:\Siri\dns.py,保存时,保存类型选择“所有文件*.*”  复制代码 import socket  myip='192.168.2.4'  class DNSQuery:  def __init__(self, data):  self.data=data  self.dominio=''  tipo = (ord(data[2]) >> 3) & 15 # Opcode bits  if tipo == 0: # Standard query  ini=12  lon=ord(data[ini])  while lon != 0:  self.dominio+=data[ini+1:ini+lon+1]+'.'  ini+=lon+1  lon=ord(data[ini])  def respuesta(self, ip):  packet=''  if self.dominio:  packet+=self.data[:2] + '\x81\x80'  packet+=self.data[4:6] + self.data[4:6] + '\x00\x00\x00\x00' # Questions and Answers Counts  packet+=self.data[12:] # Original Domain Name Question  packet+='\xc0\x0c' # Pointer to domain name  packet+='\x00\x01\x00\x01\x00\x00\x00\x3c\x00\x04' # Response type, ttl and resource data length -> 4 bytes  packet+=str.join('',map(lambda x: chr(int(x)), ip.split('.'))) # 4bytes of IP  return packet  if __name__ == '__main__':  ip=myip  print 'pyminifakeDNS:: dom.query. 60 IN A %s' % ip  udps = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)  udps.bind(('',53))  try:  while 1:  data, addr = udps.recvfrom(1024)  p=DNSQuery(data)  udps.sendto(p.respuesta(ip), addr)  print 'Respuesta: %s -> %s' % (p.dominio, ip)  except KeyboardInterrupt:  print 'Finalizando'  udps.close()

15

10. 点击C:\Siri\dns.py,将会运行这个迷你微型的dns服务器,什么Bind都可以完全无视了。发什么要建立Bind的,你懂什么是Bind吗?

16

18

12. 下载Cracking-Siri,下载后,解压到C:\Siri目录下。为了保证可以正确安装下载,建议先NPVq1an9翻为好。

19

20

14. 进入第11步解压后的目录applidium-Cracking-Siri-******,下载附件server-key.zip 解压后的三个文件放入siriServer.rb所在目录 server-key.zip (7 K) 下载次数:479 将解压后的三个文件放入该目录。    然后,下载附件“Siri服务控制器 Siri服务控制器 siriServer.vbs.v1.0.zip (2 K) 下载次数:271 ”,解压后,把siriServer.vbs放入该目录,然后直接点击siriServer.vbs运行,按照提示操作。    【还用Siri服务控制器可忽略】:然后,在第6步打开的黑窗口中,输入CD (CD后面要有一个空格),再把applidium-Cracking-Siri-******这个目录拖入到黑窗口,回车    【还用Siri服务控制器可忽略】:然后,输入ruby siriServer.rb,运行Siri模拟服务器。    【还用Siri服务控制器可忽略】:正常情况下,啥提示都没有,也不返回到>提示符,那就表示正常运行了。    有可能,出现提示框,找不到什么dll文件,例如:libiconv-2.dll、libxml2-2.dll。    没问题,缺啥补啥。到Ruby的安装目录C:\Siri\Ruby,在该目录下,搜索提示框里面提示的dll文件,把第一个找到的,复制到siriServer.rb所在目录。缺啥补啥,直到正常运行。    如果还无法正常运行,把错误信息贴上来,我告诉你如何解决。    如果出现watch()的错误提示信息,请查看第7步,先执行gem uninstall eventmachine(按照提示输入Y),在按照上面的提示安装eventmachine最新版本。    如果出现msvcrt-ruby191.dll的提示,请卸载Ruby 1.9,按照前面的提示安装Rubu 1.8.7   注意,必须拷贝附件中的server-key.zip 解压后的三个文件放入siriServer.rb所在目录 server-key.zip (7 K) 下载次数:479 解压后的文件进来,再运行。

21

15. 好了好了,啥都好了,少都可以正常运行了,dns服务好了,siriServer也好了。  【第二部分,iPhone4S Siri的Key提取过程】  通过第一部分的操作,我们已经得到了一个Siri Proxy的基础环境,接下来的步骤,就是让iPhone4使用这个Siri Proxy,并把Key发送过来,让我们提取。

22

1. 在电脑上,通过邮件给你在iPhone4S中邮件里面配置的邮箱,发一封邮件,标题为'ca.crt',内容为'ca.crt',然后把本帖附件“ca.crt.zip 解压后将ca.crt发送到电子邮件,在iPhone4的邮件中收取,点击其直接下载安装 ca.crt.zip (2 K) 下载次数:302 ”解压后的ca.crt作为附件和邮件一起发送出去。    也可以使用浏览器访问:http://www.wapm.cn/uploads/ca.crt,然后安装    在iPhone4S的邮件中,收取,然后点击ca.crt,进入安装:

23

24

25

2. 打开iPhone4S,连接无线,在无线的右边>箭头点一下子,然后进去,设置DNS:

26

27

3. 好戏要开始啦,大家睁大眼睛,细心操作。   在iPhone4S上,按住Home键不动,出现如下提示:(当然,前提是iPhone4S已经启用Siri了)

28

29

仅仅按住不动,等待Siri启动,就足够了,此时,应该已经获取了我们需要的信息。  4. dns.py窗口的提示信息:(如果没有,请按照前面的步骤,逐一检查)    在dns.py运行的窗口,会出现类似下面的提示信息,表示iPhone4S的Siri找我们自己的DNS服务器查找信息了

30

31

5. 重中之重:SiriServer.rb窗口的Siri请求信息   如果使用“Siri服务控制器 Siri服务控制器 siriServer.vbs.v1.0.zip (2 K) 下载次数:271 ”,请查看siriServer.log和siriServer.err.log的文件内容,不会出现下面的黑窗口了。   否则,在运行ruby SiriServer.rb的窗口,会出现如下的信息:(程序运行后收到信息后,可能会出错挂掉,没问题,我们已经得到信息了)

32

在这个界面中或者siriServer.log文件中,sessionValidationData这里类似\002\034\......等等的信息,就是我们需要的了。   此时,在黑窗口的标题栏点鼠标右键,在“编辑”菜单中,点“全选”,黑窗口变白。   然后,在黑窗口的标题栏点鼠标右键,在“编辑”菜单中,点“复制”,所需内容我们拷贝下来了。   最后,打开记事本,把他们粘贴进去,保存下来,备用。   将'sessionValidationData'=>下一行引号开始一直到'class'=>'LoadAssistant'上一行结尾处引号间的内容,单独复制出来。记住,是要复制引号里面的内容,不包含引号的。   这个单独复制出来的部分,我们叫他“原始Key”。   注意,如果4S没有按照第1步说明,安装ca.crt,你就得不到Key,而只有出错信息的

33

34

6. 生成最终需要的Key信息,复制以下代码到一个新打开的记事本中,并保存为C:\Siri\convertValidationData.rb:   建议直接下载附件中的convertValidationData.rb convertValidationData.rb convertValidationData.rb.zip (1 K) 下载次数:217 ,以确保不会拷贝出错  复制代码 #!/usr/bin/env ruby  #/*++  #  #Copyright (C) 2011, Velocity Limitless Organization  #Licensed under the GNU General Public License v2  #  #File name:  #  # convertValidationData.rb  #  #Abstract:  #  # Easy conversion of the Siri proxy data into a simple base64  # format for the plist  #  #--*/  require 'base64'  sessionValidationData = '【把这里的引号里面的内容,全部换为上一步原始Key,并且确保记事本的“格式”菜单中“自动换行”没有选中,然后把拷贝过来的内容,删除结尾的空格,变为一行,小心操作,不要删除错了东西】'  Base64.b64encode(sessionValidationData)  gets('')

35

7. 点击convertValidationData.rb,会运行黑窗口,输出我们实际需要的Key:

36

再次使用第5步的方法,将输出的这6行信息,拷贝到记事本(这次不需要变成一行,本来是几行,拷贝过来就是几行)

37

38

8. OK,至此,我们已经可以获得一台iPhone4S的Siri实际运行时的Key信息了,偷着乐吧。    记得此时,回去第一步,删除DNS哪里的设置,一切就恢复正常啦。  【第三部分,iPhone4 上安装使用设置Spire】  未完待续,明日继续。  这一节,就没有多少特殊的了,和其他人拷贝的类似。当然,我也会继续逐一操作,抓图,并详细讲解。  【附加文档】  1. Siri服务控制器 Siri服务控制器 siriServer.vbs.v1.0.zip (2 K) 下载次数:271 :详细说明【Siri工具】【绝对原创】【Siri服务控制器,提取Key更方便更好用】  基本说明:  复制代码 '/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  ' Siri服务控制器  ' 文件名 : siriServer.vbs  ' 版本:v1.0  '  ' 协议:GPL v2  ' 时间 : 2012/01/01  ' 作者 : HonestQiao (at) gmail.com  ' 环境: Windows XP、Windows 7  ' 安装 : 直接拷贝到applidium-Cracking-Siri所在的目录即可完成安装  '  ' 说明 :  ' Siri服务控制器用于控制siriServer.rb的运行,确保其长期处于正常运行状态  ' 如果dns.py正在运行,则Siri服务控制器会启动siriServer.rb,并定时检查  ' 如果dns.py退出运行,则Siri服务控制器会关闭siriServer.rb,并退出  ' Siri服务控制器生成的日志文件,在siriServer.log和siriServer.err.log中  '  ' 关于:  ' 详细信息,请查看:http://bbs.weiphone.com/read-htm-tid-3657056-page-1.html  '  ' 附加:  ' 如果拷贝或者传播本程序,必须遵守GPL v2协议,并完整附带包括本行在内的全部说明信息  '  '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

推荐信息