What would you pay for a 1.2Ghz dual-core ARM computer with 1GB RAM, 4GB onboard flash, 800×600 display, and 5 megapixel camera? Did we mention it also has WiFi, Bluetooth, and is a low power design, including a lithium battery which will run it for hours? Does $15 sound low enough? That’s what you can pay these days for an Android cell phone. The relentless march of economies of scale has finally given us cheap phones with great specs. These are prepaid “burner” phones, sold by carriers as a loss leader. Costs are recouped in the cellular plan, but that only happens if the buyer activates said plan. Unlike regular cell phones, you aren’t bound by a contract to activate the phone. That means you get all those features for $15-$20, depending on where you buy it.
The specs I’m quoting come from the LG Optimus Exceed 2, which is currently available from Amazon in the USA for $20. The same package has been available for as little as $10 from retail stores in recent weeks. The Exceed 2 is just one of several low-cost Android prepaid phones on the market now, and undoubtedly the list will change. How to keep up with the current deals? We found an unlikely place. Perk farmers. Perk is one of those “We pay you to watch advertisements” companies. We’re sure some people actually watch the ads, but most set up “farms” of drone phones which churn through the videos. The drones earn the farmer points which can be converted to cash. How does this all help us? In order to handle streaming video, Perk farmers want the most powerful phones they can get for the lowest investment. Subreddits like /r/perktv have weekly “best deals” posts covering prepaid phones. There are also tutorials on rooting and debloating current popular phones like the Whirl 2 and the Exceed 2.
Once you have your phone, the first order of business is to boot it up. Many prepaid phones try to force the user to go through an activation process. There is always a back door for installers to exit the process though. In the case of the Exceed 2, simply pressing volume up, volume down, back, and home quits out of the activation process.
Some applications require root permissions. To achieve this, your best bet is to do a bit of Googling for your particular phone model. The XDA developers forums are a great resource for this. While prepaid phones don’t usually have communities behind them like flagship phones, you can often find at least some information on what it takes to root your particular device. The most well-known “root every device” application to date is towelroot, created by GeoHot. You might remember [George Hotz] aka GeoHot as the first person to jailbreak an iPhone. He also made the news by getting into a bit of hot water with Sony over some PlayStation 3 security holes. Towelroot uses a Linux kernel exploit (futex) to gain root permissions. Released in June of 2014, the futex exploit has been patched on most new phones. However, it hasn’t been patched on phones that receive relatively few updates – like prepaid phones. On the Exceed 2, Towelroot works perfectly, giving the user root without even requiring a reboot. Once the phone is rooted, a root privilege manager like SuperSU is needed to keep track of which applications should have root permissions. Once that is done, anything goes! We’ve found packages like BusyBox to be huge helps – especially when working at the console through Android Debug Bridge (ADB).
What do you want to hack today?
Between these low-cost phones and the used phones every family seems to have floating around now, there are a heck of a lot of devices out there waiting to be used. What can you do with a spare Android phone? Quite a lot. There has never been a better time to learn to code for the Android Platform. Android Studio is the current official development environment. If you know a bit of Java, it’s easy to jump in and start making apps. If you’re not a Java head but want to learn, there are tutorials all over the web to help get into the swing of things.
Not a coder? The swiss army knife of automating android devices has long been Tasker. Tasker allows you to set off simple scripts (called tasks) with triggers which can be anything from plugging in headphones to connecting to a particular WiFi access point, to pressing a button on the screen. Want your smart phone to announce your arrival home with your own theme music? Just set up a Tasker profile to play a song when it connects to your home WiFi router. Tasker supports plenty of actions natively, and can be extended with plugins. Scripting Layer For Android SL4A) even allows it to extended with Python scripts.
Moving into the hardware world, there are plenty of ways to get GPIOs from an Android phone. The Android Accessory Development Kit (ADK) is getting a bit long in the tooth, but it’s still a great way to interface an Arduino board like the Arduino Mega ADK with your device. Another option for getting into the hardware realm is the IOIO OTG board. As the name implies, this new version of the IOIO board supports the USB OTG standard. This allows it to connect a phone either as a host or as an accessory. Need a simple wireless terminal for your project? Grab a terminal app and a Serial Port Profile (SPP) compatible Bluetooth module, and Bob’s your uncle. Interested in hacking with the ESP8266? There is an entire page of apps on the Google Play store dedicated to interfacing with everyone’s favorite low-cost WiFi module.
We’ve just covered the tip of the iceberg here. What kind of hacking would you do with a spare Android phone, or one of these low-cost prepaid devices. Let us know in the comments!