Connect to T-Mobile Hotspots for Free (Technically) Without Vista
I love to hang out at the likes of Starbucks, Borders, and Barnes & Noble. It seems that these are the only places where I can think clearly and calmly. These places are where I can literally stop and smell the coffee. Imagine curling up with a book, a warm cappuccino, and a laptop ... how ideal. There's only one thing that can make this experience more enjoyable, free Wi-Fi Internet access. Don't get me wrong, I know that most of these establishments serve WiFi Internet access through T-Mobile Hotspots and AT&T Wi-Fi. But, those providers are just too expensive! We already pay $40/month for cable broadband at home. We don't need to add another $40/month for just occasional Internet access at the bookstore!
When I heard that T-Mobile was offering three free months of Wi-Fi Internet access for Windows Vista notebook users, it piqued my attention. Just think of the possible hacks for those (like myself) without Vista!
User Agent Hack
Reading a couple of forum threads and blog post comments about possible hacks, I discovered many people thought that it would be easy to masquerade as a Windows Vista user by just overriding the User Agent string. Apparently, these people are not familiar with how arbitrary Microsoft is. I mean, it won't let you download any necessary Windows updates without running an ActiveX Product Validation Program. In the same way, Microsoft and T-Mobile verify a Vista user through a similar ActiveX program.
Virtualization
A more feasible workaround would be through virtual computing. From question 10 on the T-Mobile Hotspot FAQ, Microsoft Vista Beta users are also eligible for the three free months of Internet access. If you were one of those astute fanatics who obtained the Vista Beta from Microsoft last year, you're in luck. All you have to do is install the Vista Beta on a virtual machine residing on the laptop. Vista Beta will expire in the summer so the end of this promotion is well far away from the end of the Vista Beta Trial.
The follow items are the steps I took to workaround the validation system:
- Locate the *.iso file of the Windows Vista Beta downloaded from Microsoft last year. You will need the product key they emailed to you as well. It took me so much time to dig my computer for these two critical components! If you never signed up for the Vista Beta, you can also download the Vista Beta torrent. The only problem is finding a valid product key. Some people will just give it to you in the torrent. If all else fails, I hear there are ways to exploit this function. Just Google it!
- Download and Install VMWare Player
- Download QEMU and create a *.vmdx hard drive of at least 15 GB. For the lazy, the command is
CODE:
-
qemu-img create -f vmdk vista_HDD.vmdk 15G
-
- Use this *.vmx configuration file and run it.
CODE:
-
config.version = "8"
-
virtualHW.version = "3"
-
-
uuid.location = "56 4d e5 60 2b d3 8d b9-d4 60 28 6e 4a d5 f3 83"
-
uuid.bios = "56 4d e5 60 2b d3 8d b9-d4 60 28 6e 4a d5 f3 83"
-
-
uuid.action = "create"
-
checkpoint.vmState = "Vista.vmss"
-
-
displayName = "Windows Vista"
-
annotation = ""
-
-
guestOS = "winvista"
-
numvcpus = "1"
-
memsize = "512"
-
paevm = "TRUE"
-
sched.mem.pshare.enable = "TRUE"
-
MemAllowAutoScaleDown = "TRUE"
-
-
MemTrimRate = "-1"
-
-
nvram = "nvram"
-
-
mks.enable3d = "FALSE"
-
vmmouse.present = "TRUE"
-
-
tools.syncTime = "TRUE"
-
tools.remindinstall = "FALSE"
-
-
isolation.tools.hgfs.disable = "FALSE"
-
isolation.tools.dnd.disable = "FALSE"
-
isolation.tools.copy.enable = "TRUE"
-
isolation.tools.paste.enabled = "TRUE"
-
gui.restricted = "FALSE"
-
-
ethernet0.present = "TRUE"
-
ethernet0.connectionType = "nat"
-
ethernet0.addressType = "generated"
-
ethernet0.generatedAddress = "00:0c:29:d5:f3:83"
-
ethernet0.generatedAddressOffset = "0"
-
-
usb.present = "FALSE"
-
#usb.generic.autoconnect = "FALSE"
-
-
sound.present = "FALSE"
-
#sound.virtualdev = "es1371"
-
-
ide0:0.fileName = "Vista.vmdk" # Local filename of the virtual disk created by QEMU
-
ide1:0.fileName = "vista.iso" # Local filename of the Vista Beta DVD ISO File
-
-
floppy0.present = "FALSE"
-
-
serial0.present = "FALSE"
-
-
serial1.present = "FALSE"
-
-
parallel0.present = "FALSE"
-
- Install Windows Vista Beta on the slave virtual machine
- Download, Extract, and Install VMWare Tools
- While Connected to the T-Mobile Hotspot on the host real machine, visit http://hotspot.tmobile.com on the slave virtual machine. Click the appropriate button for Vista users. It will prompt you to register and install the ActiveX Windows Genuine Validation Tool.
- Once you've achieved unrestricted Internet access on the virtual machine, you can shut down the virtual machine and start using the host real machine. You can even use FireFox! How 'bout that!
The next time you need to access a T-Mobile hotspot, just use the handle and password you created at registration. Windows Vista validation is only necessary once. So, you will never have to run the virtual machine again for access.
In Closing
Technically, you still need a form of Microsoft Windows Vista in order to perform this workaround. It’s not as cool or easy as switching the user agent string but it gets the job done.
Leave questions or comments below about your experience with this hack. I'll try to answer them.
July 1st, 2008 at 9:32 am
heh, just ran across this, so posting a bit out of date, but oh well... sounds like they must have registered MAC address once they decided someone had a Vista machine, so you probably could have just gotten a friend with a Vista machine to set up a username & password while temporarily spoofing their mac (using SMAC or just registry edits) to match your wireless adapter. If you had such friend.
December 6th, 2008 at 10:47 pm
I see no recent postings on this: Why would it work when they MUST check to see whether you are a PAID UP member at t-mobile, as opposed to just someone who connected up to a free trial??
Lots of these softwares seem to have free trials, doesn\'t this posting sort of assume no one ever authorises access by reference to whether you are current or not?
Am I missing something somewhere or is this why no one reports that this method actually works?