(adsbygoogle = window.adsbygoogle || []).push({});
Requirements
•Have knowledge of basic Linux command lines (Very important, if you do not have any knowledge then do not attempt this)
•An iPhone 4S ( Used for Siri authorization keys) / can borrow a mates etc, but need keys..
•Jailbroken on iOS 5.0.1 (iPhone 4 or iPhone 3GS) If not already jailbroken follow our guide to jailbreak it.
•Spire ( Mentioned below)
•Port forwarding: 53 and 433 (Used for your router, you should know this it is not explained below)
•Download SiriAuth ( Siri Server )
•Download AuthGrabber ( Get;s iPhone 4S Siri authorization keys)
•Download Extra files
Disclaimer: Do NOT attempt this if you are not sure what you are doing.
Download Spire
As I mentioned in the requirements you will need Spire. If you do not have it follow the steps below and if you already have Spire skip this portion.
STEP 1: Jailbreak your device on iOS 5.0.1
STEP 2: Launch Cydia
STEP 3: Tap search button and search for Spire and download it
STEP 4: Once downloaded reboot your iOS device.
Download iPhone 4S Authorization keys
STEP 1: Run .SH file, if you are being presented with a command saying not found, run the command below.
sudo chmod +x [name_of_.sh_file]
STEP 2: Now you should have the iPhone 4S, downloaded Authgrabber from the link above and ports 53 and 433 forwarded. Run the command below
./dependencies.sh
STEP 3: You will now need the certificate file that should be downloaded to iPhone 4S. To do that run the command below
sudo ./certs.sh
Set Up DNS Server
STEP 4: You should now setp up DNS server which is used in python. Copy the entire text below on to a text file and replace
“555.555.555.555″ with your actual internet IP address and save it as “dns.py” to the same place as other AuthGrabber files.
import socket
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='555.555.555.555'
print 'Fake DNS Server:: 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 'Antwort: %s -> %s' % (p.dominio, ip)
except KeyboardInterrupt:
print 'Beenden'
udps.close()
Step 5: To run the server, enter the command. :
sudo python dns.py
STEP 6: Download the “Extra files” from the above requirement portion and extract those two to directory of AuthGrabber and run the command.
sudo ruby authGrabber.rb > OUTPUT.txt
STEP 7: Now you will need to change Wi-Fi DNS to your iP address on the iPhone 4S. Go Settings> Wi-Fi> select Wi-Fi> DNS.
To See if it’s working
Use Siri to test if its working or not. When you bring up Siri you should see texts running, “matrix style’ (that’s what I like to call it). Open OUTPUT.txt to check if there is anything inside, if you see anything then it means it’s working. If you wish you can close the DNS server.
Install Siri Proxy Server
STEP 1: Download SiriAuth, and start it in the same way as you done for AuthGrabber.
STEP 2: Create certificate file using the same command used for AuthGrabber
sudo ./certs.sh
STEP 3: Follow the on screen instructions for creating certificate, the info can be anything but remember to use real information for the IP address.
You will need to remember that unlike AuthGrabber certificate this should NOT be deleted as it is required for running Siri.
STEP 4: Edit Siriauth.rb file using a text editor and the copy the things below. Output.txt file needs to be edited too, the one used above.
1.XAceHostKey
2.ValidationDataKey (the large batch of data)
3.AssistantIDKey
4.SpeechIDKey
STEP 5: Copy the auth keys to SiriAuth.keys from output.txt. Make sure to paste them between the quotes.
STEP 6: Run the server by entering the following command
sudo ruby start.rb
To See If it’s working
Server started
Selected X-Ace Host: [redacted]
Selected assistantId: [redacted]
Selected speechId: [redacted]
Selected ValidationData: [redacted]
If you see the above text it means you have done everything right. Well done.
Port Siri To Spire
If you have done all the things above it is now time to port Siri to Spire.
By now you should have downloaded Spire from Cydia, if not go to the first portion and find out how to download Spire.
Go Settings>Spire and enter the address of your newly created proxy server “[url]https://….”[/url]. Once done that go to General> Siri turn it on and respring your device.
Congrats !
You should now have successfully ported Siri to your iPhone 4 or iPhone 3GS.
FACTS
Need iphone 4s keys in order to work
The difference between this and h1s1, is it actually works ans it's your own provate server so no-one can steal your information.. its safe!