Skip to content
The aim of this project is to fully automate getting iPhone 4S keys and using them in iPhone 4/3GS and iPod Touch 4G requests. Thank you for everyone whose code is used here, you did a fantastic job!
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


This project aims to create a fully automated SpireProxy server.

-this code comes without any warranty
-this code is extremely dirty, but HOPEFULLY doesn't contain any bugs

If you think you can't live with the feeling you are running dirty code, then modify it yourself, you are free to do that!

-1. Run to get all the programs needed to run the server:
sudo su

0. Set up a fakeDNS server. Configure the script attached (fakedns.rb) like this:

Name = Resolv::DNS::Name

RubyDNS::run_server(:listen => [[:udp, "", 53]]) do
    # For this exact address record, return an IP address
    match("", :A) do |transaction|
        transaction.respond!("GET YOUR IP HERE")

GET YOUR NAMESERVER HERE = put in a DNS server that is valid, if you don't know what to do, put here Google's DNS:
Always check your /etc/resolv.conf if it doesn't work, if you have an entry like this:
nameserver SOME-IP-ADDRESS
Then put SOME-IP-ADDRESS in the file mentioned above.

GET YOUR IP HERE = put in your server's IP address (get it from ifconfig)

Run the server like this:
sudo ruby fakedns.rb

Leave it running!

Now go into your iPhone's settings (both 4/3GS/iPod Touch 4G AND 4S) -> WiFi -> little blue arrow next to your WiFi's name -> DNS
Put in your server's IP address into DNS

1. You need to create your own certificates by using the bash script and install the ca.crt on your device (email it to yourself or run a webserver and host the file there)
1/a. You also need to copy the server.passless files (both) to every directory here (YES EVERY SINGLE FOLDER!, even the one that contains README)

After that, you can proceed!

3. So now, there is not much left:

a; run eventMachineGuzzoni.rb like this:
cd Cracking-Siri
sudo ruby eventMachineGuzzoni.rb

b; run siriAuth.rb server in a different console:
cd SiriAuth
sudo ruby start.rb

Now you should have a server listening on port 443 (this will handle all 4S reuests and capture the key you need), and a server listening on port 3000 (could be changed by editing siriAuth.rb)

Now go into your iPhone's settings, scroll down and find Spire, then enter for server:

If your 4S provides you keys (ask the 4S user to use Siri at least twice a day!) you can use Siri on yor iPhone 4/3GS or iPod Touch 4G without any problems

All credit goes down to these people:

 -Applidium for creating Cracking-Siri
 -plamoni for using Cracking-Siri to create SiriProxy
 -stantheripper for creating SiriAuth

Thank you for being awesome!
You can’t perform that action at this time.