Wiki

Clone wiki

pysiri / Home

Welcome

See docstrings in siri.py for more information. Requires a Mac in client mode and record mode but works platform independent in server mode.

tl;dr:

How to recover iPhone 4S Siri authentication keys

  • Clone pysiri:
$ git clone https://bitbucket.org/jaredhobbs/pysiri.git
  • Change to the pysiri directory:
$ cd pysiri
  • Install biplist:
$ easy_install biplist
  • Install CA to your iPhone 4S: Email ca.crt to yourself and open on iPhone 4S.
  • Run pysiri in server mode:
$ sudo ./siri.py --server --save-keys
  • Set DNS server on iPhone 4S to IP address of computer running pysiri.
  • Make Siri request on iPhone 4S
  • Quit pysiri by pressing Ctrl+C and your keys will be displayed in the Terminal as well as saved to a Python pickle file called keys.pickle

If you receive an error similar to:

Traceback (most recent call last):
  File "./siri.py", line 705, in <module>
    main(options, args)  
  File "./siri.py", line 662, in main
    siriServer(saveKeys=options.save_keys, keyPickle=options.keys, local=options.server_ip)
  File "./siri.py", line 632, in siriServer
    server.runForever()
  File "./siri.py", line 292, in runForever
    p.terminate()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/process.py", line 111, in terminate
AttributeError: 'NoneType' object has no attribute 'terminate'

it means you haven't installed the CA certificate on the iPhone 4S. Email "ca.crt" from the source directory to your iPhone 4S, open the email, tap the file attachment, and install the certificate. Update: Just committed a change to siri.py that throws a more user friendly error message when the certificate isn't installed on the iPhone 4S.

Updated