I recently buyed a Gmate, that permits to do dualsim on my iPhone (I'll review it some day).
We are cooperating with different distributors in different countries and areas. We have obligation to guarantee their business in a dedicated country or area. So we have the policy that a Gmate only can be actived locally first. That's also a request from our distributors.
But you know what? Fuck you, Skyroam.
According to Skyroam you have to activate the device while in the right country, it then stays activated wherever you are. I tried to fake my location (using FakeLocation in Cydia) but it appears it doesn't use GPS, most likely it uses some information broadcasted by the GSM network.
For Google's sake I will list here common errors you can see on the screen regarding this lock :
- "Your Gmate can not be verified due to territory restrictions, please contact your seller immediately"
- "Outside of activation territory, please contact your seller immediatly!"
- "Dailing Failed" (sic)
- "Dialing Failed"
Anyway, it looks like it has been coded quicly (and badly) in the client but is actually implemented server-side.
The first thing I tried was using an old version. It was very difficult to download it.
I used it two days before removing it because it drained the battery like hell !
Crack under iOS
I then tried to crack the version 1.1.2. I lost several hours before understanding iOS wants any binary over 500k to be signed (NB : use ldid or ldone), I had a very strange bug forcing me to launch the server manually via SSH. Not good enough.
Block the DNS
The worst in my history is that my first cracking attempt was simply to block a DNS. Using Paros I intercepted a request to http://c.skyroam.com.cn/checkTWGmate.php?sn=MonNuméroDeSérie.
Not losing an instant I SSH'd the iPhone, nano /etc/hosts and blocked c.skyroam.com.cn. Didn't work.
It was only after 6 hours trying to crack the binary that I realized that there was a fallback to http://m.skyroam.com... when the other doesn't work. Well... FUCK.
So here is the final solution you need to use. You have to edit the file /etc/hosts on your iPhone/other to block two domains. To do that, add these two linesat the end of the file :
You will also need to delete a file that Gmate creates if it has already contacted the server. Delete /User/Library/Skyroam/SkyroamSimo.dat :
And enjoy your version 1.1.2. without geographical check !
Disponible également en : Français