Reverse engineering pe Siri – aplicația pentru iOS ce simulează asistentul personal
2 Vă amintiți de Siri, aplicația pentru iOS ce a făcut vâlvă în urmă cu câteva săptămâni? Aceasta a fost introdusa de Apple nativ în iOS 5 iar la scurt timp aplicații similare pentru Android au apărut pentru a compensa. Aplicația a fost prezentată ca asistentul personal al utilizatorului telefonului mobil, având capacitatea de comunica și executa comenzi pe baza mesajelor vocale. Proiectanții susțin că această aplicație se adaptează în timp pe cerințele și modul cum vorbește utilizatorul aplicației, oferind rezultate din ce în ce mai precise.
Așa cum era de așteptat, aplicația nu a rezistat în fața ochilor dornici să abuzeze de tehnologia introdusă de Apple. Zilele acestea a apărut prima versiune a unui Siri reversed pe GitHub, scris în Ruby.
Cum poți folosi librăria publicata pe GitHub pentru genera propriul Siri?
– generează un certificat de autoritate
– adaugă-l pe iphone
– înregistrează un certificat pentru „guzzoni.apple.com” folosind certificatul de autoritate. Asta va produce două fișiere (un „.crt” și un „.key”) ce vor fi necesare pentru server
– configurează un DNS server fals care redirecționează domeniul „guzzoni.apple.com” către localhost, și configurează iphone-ul să-l folosească
– rulează „siriServer.rb”. Pentru asta ai nevoie de Ruby instalat.
– realizează ordinul Siri, spre exemplu din aplicația Notes.app. Asta va face un dump la toate datele de care avem nevoie (identificatorul X-Ace-Host, sessionData șamd)
– folosiți informațiile de acolo pentru a înlocui instanțele „COMMENTED_OUT” din cod.
Cum poți folosi speech-to-text pe alte mașini în afară de iPhone4S?
– înregistrează-ți vocea în ce format ești familiar
– folosește ffmpeg pentru a converti sunetul, denumind-ul „tentative.raw”
– instalează librăria speex și toate interdependetele
– compilează speexEnc.m (gcc speexEnc.m -lspeex -framework Foundation -o speexEnc)
– rulează ./speexEnc. Aceasta va produce un fișier input.sif ce Ruby îl va putea cîți
– rulează „Siri.old.inline.rb”!
De aici tehnologia va fi dezvoltată atât cât ne va permite imaginația! Distracție plăcută!
Daca acest articol contine o greseala, selecteaza cuvintele sau fraza gresita si tasteaza combinatia de taste Shift + Enter sau apasa click aici pentru a o raporta. Multumim!
Imi place foarte mult articolul… 😉 Noroc de tine ca ne impartasesti cat de repede evolueaza tehnologia….Abia astept sa vad ce mai publici si maine
Mersi! Tehnologia evolueaza mai repede si cu o cantitate exponential mai mare decat pot eu prezenta aici. Aici incerc sa aduc cele mai importante si mai remarcabile evenimente tehnologice. Multe imi pare rau ca le scap dar momentan nu am descoperit o metoda paralela de a scrie articole. 🙂