Suchergebnisse für install

[IT] new SiriProxy Version - now with automatic-key-saving and bugfixes

Hiho people,

as promised i made a new version of SiriProxy with some bug fixes and added features. This new version should make your life easier. If you setup your server using my automated scripts you can just reuse them. Normally this should work. If not or if you are not sure, i will provide you some informations how to update.

If you don't have SiriProxy installed just follow this tutorial and you will get the latest version anyway: Siri on iPhone 4, iPod, iPad with SiriProxy

New version? What's new?

- checks which iPhone is connected (iPhone 4S or iPhone 4)
- saves all the needed Data from iPhone 4S
- loads saved data if iPhone 4 or iPod / iPad
- some minor bugfixes. more are on the way later.

So what you can basicly do with this version is:

if you have a friend with iPhone 4S or have yourself iPhone 4S just use it with this SiriProxy. Your Siri will work and the 4S keys are saved automaticly.
Every non-iPhone 4S user get the saved data.. so no more manual updating =)

Damn i like it! How do i update?

execute the following commands in your linux:

cd ~/hacks
rm -R ./SiriProxy
wget http://www.ketchup-mayo-senf.de/blog/MySiriProxy.zip
unzip MySiriProxy.zip

Questions? Bugs?

If find any bugs.... If you have any questions ... lemme know =)

greetz /Matthias

i do this in my free time.. if you want to support.. feel free =)






[IT] Siri with libsandwich / Serious - whats that? how does it work? is it better than SiriProxy?

If you read my blog now for the last weeks you saw a lot of posts regarding Siri and SiriProxy. Since a few days there are some other tools available for getting Siri to work on iPhone 4, iPhone 3GS, iPod, etc. In this blogpost i will explain how they work, explain the differences between this tools and SiriProxy and show you a list which advantages or disadvantages they compared to each other have.

Whats that?

libsandwich ( see it here) and Serious (dont have a link, sorry) working both the same way.
You install them and, if you have the 4 needed auth keys, you can connect to Apple's Siri Server.

How does it work

Speaking for non-it persons, they simple change the data which is send to Apple's Siri Server to the data from the iPhone 4S.

For it persons: Both tweaks are changing the data by modifying it before they are send via assistantd to Apple's server.by overwriting the used functions with own ones and injecting the data there.

example:
@implementation SALoadAssistant(Override)

(NSData *)sessionValidationData {return [self propertyForKey:@"sessionValidationData"];}

SALoadAssistant is called when the iPhones loads the Assistant Object and send it to the server. The only interesting part ( which you see here) is to change the "validationData" by reading them from a file and putting it into the Assistant Object. Same applies for SACreateAssistant etc.

Is it better than SiriProxy?

Well this is hard to anwser. It strongly depends on what you need and who you are. I give ya a list of advantages/disadvantages:

libsandwich / Serious:

Good:
+ direct access to Apple's Siri Server.
+ no need for running own server, vpn or something.

Bad:
- you have to put it on every phone you own to have siri running
- changing the key data is hard and have to be done for every phone /device you have
- no "extra" commands possible (without using siriproxy)
- if more than 1 device is using the auth data apple can see that requests come from different ip's and can block the auth key easily.

SiriProxy

Good:

- every device running Siri can connect through Server without need to install any tweaks
- key changing is only happen on the server not on the client. once you change the key there every device connected to it have the most actual key.
- keychanging can be done automatic (using my new SiriProxy version. Just have at least one user with an 4S conncted to the server and its key will saved and used with non-iPhone 4S Users)
- extra commands possible via SiriProxy Plugins
- controlling the data sent to apple ( if you want you can recode SiriProxy not to send special informations to apple)
- all people using the server come from the same ip which makes it harder for apple to track "hacked" auth data and block it.

Bad:

- needs more technical understanding to setup. ( but hey .. i made some scripts to make live easier)
- server need to run all the time
- iphone 4S Users have to use vpn or WLAN to connect to it.

So what do I think?

I personaly love the SiriProxy way a lot more because of the stated advantages. i like to have a bit more control on what happens. i love to see which objects are send from my phone to Apple's Siri Server. It's easier to edit auth data and with my new SiriProxy you don't have to do anything to be always up2date on keys.

uh hell yeah..you're right... how do i setup SiriProxy now?

just be sure to check out the following blog posts:

How to setup SiriProxy in VMware

and / or

How to setup SiriProxy

Thats so far this time

/Matthias





[IT] FAQ and common problems using SiriProxy

Hey people. Some of you have various Problems running SiriProxy and so i decided to put a own blogpost up regarding technical issues or questions.

This FAQ will be updated frequently =)

small Update in Problems regarding SiriProxy

Problems regarding SiriProxy

Problem: iPhone 4 don't connects to SiriProxy and SiriProxy don't show anything.
Solution: Check if your iPhone have the ca.crt file from SiriProxy installed. If its installed put still dont say anything remove every installed Cert on your iPhone and reinstall it. If that don't help create new certs.

Problem: if you try to run SiriProxy you get following error: "cannot load such file -- plugins/thermostat/siriThermostat (LoadError)"
Solution: edit start.rb and put a "#" in front of line 2

Problem: if you try to start SiriProxy you get an error: "`start_tls': Could not find ./server.passless.key for start_tls "
Solution: you have to start siriProxy from the directory where its installed. if you used my scripts then do: "cd ~/hacks/SiriProxy" and then "ruby start.rb"

Problem: iPhone connects to Server only if using "guzzoni.apple.com" and DNS but not if entering the local ip.
Solution: Your SiriProxy's server certificate is only valid for "guzzoni.apple.com". If you want to use your local ip, create a new server cert and use the local ip as "common name"

Problems regarding siriServer ( applidium tools) and DNS

Problem: iPhone 4S don't connect to siriServer.
Solution: Check if the ca.crt file is installed on iPhone 4S. if it's installed, try removing it and reinstalling it. if that dont help recreate certs.

Problem: if you try to run "dns.py" you get following error: "socket.error: [Errno 98] Address already in use"
Solution: There is allready a DNS Server running on your server. On any linux you can stop it with: "/etc/init.d/dns stop"

Problem: if you try to run siriServer.rb or start.rb you get the error: "start_tcp_server': no acceptor (RuntimeError)"
Solution 1: you have to start both scripts as root. so you can log in as root or use "sudo". f.e.: "sudo ruby start.rb"
Solution 2: there is allready a webserver running on your server. try "netstat -ano |grep https" to check if there is a https server running. stop it or kill it by using: "kill -SIGKILL PROCESSPID"

Problems regarding VPN

Problem: iPhone 4S connects to VPN but it dont shows any requests in dns.py and siriServer (applidium) dont say anything.
Solution: edit the /etc/ppp/options.ptpd file (on opensuse. other distributions may have different files) and look there for "ms-dns". remove the "#" (if exists) and put there the local ip (from vpn server) there. restart pptp with: "/etc/init.d/pptpd restart" and reconnect your iphone 4s.

Problems on your iPhone

Problem: your iPhone 4 / iPod etc don't answers but show things like "time" etc.
Solution: You need a iPhone 4S dyld cache.

General

Question: Which keys do i need?
Answer: x-ace-host (aceHost), speechID, assistantID, validationData

Question: do i have to change every key if my old ones are expired
Answer: no. just replace the validationData

Question: How long do these keys last?
Answer: 24h. Please keep in mind, that the new keys are generated on the iPhone 4S. The 24h count from this creation time and NOT from the time you got them off the iPhone 4S!

Cheers and i hope it helps ..

Matthias

PS: if you have problems on MacOS i can't help you because i don't own a mac.
PPS: if you have one left just send it to me ;-)







[IT] HOWTO: Set up a Linux Server in VMWare for SiriProxy

Update: debian.sh is now online. sorry forgot to upload it

Update: OpenSuse.sh is now updated.
Update: ubuntu.sh is now online.

Update: if you have troubles somewhere try checking out the SiriProxy FAQ here.

What we need

To run a SiriProxy Server we need ( in this scenario) a Linux running in VMWare. To get this, just follow the steps :)

Getting VMWare

Download VMWare Player from the official website or for example here: Chip.de - VMWare Player 4.01

Download a linux iso

You can get various Linux Distributions for free from the internet. For this server i suggest a small distribution, because we don't need a GUI or other stuff.

Debian: http://cdimage.debian.org/debian-cd/6.0.3/i386/iso-cd/debian-6.0.3-i386-netinst.iso
Ubuntu: http://www.ubuntu.com/download/server/download
OpenSuse: http://ftp.halifax.rwth-aachen.de/opensuse/distribution/12.1/iso/openSUSE-12.1-NET-i586.iso

Setting up VMWare

After Installing VMWare Player create a new Virtual Machine with the assistant.

Step 1 - Choose "I will install the operating system later"
step1.png

Step 2 - Select Linux and then your distribution
step2.png

Step 3 - Select the Name of the virtual machine and the path
step3.png

Step 4 - Select the hdd size. 1GB should be fine on a small distribution but use any size you want =)
step4.png

Step 5 - Select "customize hardware"

Step 6 - Remove floppy and sound. set "Network Adapter" to "bridged" and set the CD to your downloaded Linux .iso file. apply all settings and close it with "ok".
step6.png

Step 7 - Press "finish" to finish the creation of our new virtual machine.

Step 8 - on the VMWare welcome screen select "play virtual machine"

Installing the Linux in VMWare

Follow the instructions on your screen and install linux.
Set a static ip on your network adapter! this ip must match your network. mine is f.e.: 192.168.178.24

Once you are completed you should get to the login prompt. enter your credentials and log in. then proceed with the next step.

( additionally you can use "putty" to ssh into your virtual machine. this makes it a lot easier because you can copy & paste the commands from you win/mac into putty console )

Installing Debian

If you have to choose which software to install then check:

- SSH Server

To check which ip you have in your VMWare log into your debian system and execute: ifconfig"
There look for "eth0:"
This is the ip you can use with "putty" or any other ssh client to ssh into your debian.

Installing all needed libs and stuff

Depending on your Linux, choose one of the following steps:

Debian

cd ~
wget http://www.ketchup-mayo-senf.de/blog/debian.sh
chmod 777 debian.sh
./debian.sh

OpenSuse
cd ~
wget http://www.ketchup-mayo-senf.de/blog/OpenSuse.sh
chmod 777 OpenSuse.sh
./OpenSuse.sh

Ubuntu
cd ~
wget http://www.ketchup-mayo-senf.de/blog/ubuntu.sh
chmod 777 ubuntu.sh
./ubuntu.sh

Setting up our SiriProxy

Now we have to put the important 4 keys into our siriProxy.rb file. Best you use "mc" for editing. but feel free to use any other editor like "vi" "vim" "ae" or whatever.

cd ~/hacks/SiriProxy
mcedit siriProxy.rb

Replace there every needed information. you can find the tutorial here

Setting up VPN ( optional )

Download the 3 config files from Server with:

wget http://www.ketchup-mayo-senf.de/blog/pptpd.conf
wget http://www.ketchup-mayo-senf.de/blog/options.pptpd
wget http://www.ketchup-mayo-senf.de/blog/chap-secrets

and restart the pptp server with:

/etc/init.d/pptp restart

Now you can use iPhone VPN to open a vpn connection to your server.

User: KMS
Password: siri

( If on OpenSuse everything is allready done by the script )

Preparing the iPhone 4 / iPhone 3G / iPod etc

Send the ca.crt file you can find in ~/hacks/SiriProxy to your iPhone via EMail.
or open with your iPhone:
http://www.ketchup-mayo-senf.de/blog/ca.crt

on your Phone / Pod install "iFile" via cydia and edit the file:

/private/var/mobile/Library/Preferences/com.apple.assistant.plist

and set the server to your ip / dns

Preparing the iPhone 4S for reading the keys

Send the ca.crt file you can find in ~/hacks/SiriProxy to your iPhone via EMail.
Install it.

If you want to read out the keys from a remote iphone 4s (friend for example which isnt at your home):

Goto "Settings -> VPN" and create a new VPN Connection (pptp) with the credentials from the previous step.

If you want to read the keys from a iPhone 4S in your WLAN:

Connect iPhone 4S to your WLAN. Goto Settings - WLAN -> (tap the blue key) -> tap the dns entry and change it to the ip of your server (in my case 192.168.178.24).

Reading out the Keys from iPhone 4S

you need 2 open shells / putty connections.

on the first:
ruby ~/hacks/applidium/SiriServer.rb > logile.log

on the second:
python ~/hacks/applidium/dns.py

Now talk to Siri on the iPhone 4S. in ~/hacks/applidium/logfile.log you find all needed keys.
stop both programs by using "ctrl + c".

edit the SiriProxy.rb file like stated in one of the steps above.

Starting SiriProxy

ruby ~/hacks/SiriProxy/start.rb

Thats all so far :)

lemme know if you need it more detailed!






[IT] How Siri works. General Informations, hints and thoughts about Siri on iPhone 4 / iPhone 3GS

In my last Blogpost i showed you a way to connect any iDevice ( like iPhone 4 or iPhone 3GS) over a SiriProxy with Apple's Siri Server. Some of you finished my tutorial and have it up and running and enjoy Siri on their iPhones.
Most of you probably are not technical enough to complete the tutorial and/or don't have access to an iPhone 4S (which is still required).

In this Blogpost i will descripe Siri a little bit. How Siri works (from a technical view). Why "public" SiriProxy server have problems (like the one from h1siri), why you never should use any public server and what you should know generally if running a Siri Proxy Server.

How Siri works

Siri on your iPhone is just a little bit more than a GUI. It records your voice and send this along with other informations to Apple's Siri Server ( known as guzzoni.apple.com ). The Server analyzis your speech, check what you have said. checks what you could have meant and send this thoughts along with the information what to do back to your Siri GUI on your phone.

Really nothing special runs on your phone. everything is done remotely on Apple's SiriServer.

How exactly everything works, which pakets are sent, etc etc will be described later in another blogpost.

i personally suggest to have a deeper looking into siri before using it very often. apple gets a lot of data from you and you should at least know that.

SiriProxy and the auth keys

To run your own SiriProxy (my modified version) you need actual and working iPhone 4S keys. As mentioned for a lot of times these 4 keys are:

- x-ace-host
- assistantID
- speechID
- validationData ( aka sessionValidationData)

After running my server for over 2 weeks now, i can't say if you really need x-ace-host. looks like it worked anytime for me because every phone with SiriGUI installed has one.
assistantID and speechID don't change over time and can leave untouched most times ( they will be written to your phone anyway automatic from SiriGUI)

The most important key is the validationData. This one is generated from your phone. containing some hardcoded infos like your hardware version. thats why you need this one from an iPhone 4S. It changes every 24h (after beeing generated by the iPhone 4S) and the change date is visible in the com.apple.assistant.plist on your iPhone 4S.

Running a SiriProxy server with my modified version is currently not a good thing. everything in there is hardcoded and have to be changed once every 24h. Well this public release was never intend for use like public servers. it was just a proof of concept. showing the world " hell yay it works!!".

Beside that my posted public version of the siriproxy is not very stable and can't handle enough connects. it's ok for like 5 ppl using it over the day.

One advantage of a SiriProxy over a direct access from your phone is, that apple only see one ip using the auth-stuff. another advantage is_ automatisation ( will post about that later).

How a real public Server could look like will be shown later this week in one of my next blogposts.

Why are public SiriServer a bad idea?

SiriGUI releases like h1siri are using a public SiriProxy server. this isn't a good idea for all people. Siri is sending a massive amount on private data over this public ProxyServer. So all this informations can be seen by the owner of this public server. I saw following Data in my logs:

- Your Name and personal Details
- All your contacts
- SMS
- Mails
- your location

There might be more but i am too lazy to check everything for the moment. i will do an analyzis about this data later in another blogpost.

Beside that, a SiriProxy Server can do things you dont notice on your phone ( like spamming via sms, mail, twitter, facebook etc) and if its an modified version of a SiriGUI it can do really harmful things to your phone like bricking it. it might be used to hide illegal thins (running a socks proxy which hacker can use to cloak themself) etc etc. there are really really really a lot of things which can be done with your phone.

so once more: NEVER EVER USE A PUBLIC SERVER FROM PEOPLE YOU DONT KNOW

oh and never trust somebody. never! ( hey that even includes me as well) Learn to get more interested in what can happen to you if you have too much trust into somebody!


What's comming up next on this blog?

There will be several blogposts during the next days for these things:

- howto setup linux / macos in vmware including automatic install scripts
- howto setup a siriproxy server with key cycling, automatic key retrieving (from users with 4s), and heavy user handling ( more than 10 users )
- info how siri works in detail (which pakets, how authentication looks like, assistant data, etc etc)

if you have things you want to know.. let me know and i see if i can blog about it =)